*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --cream:#F7F4EF; --warm:#EDE8DF; --sage:#8A9E8B; --sage-dark:#5C7260;
  --blush:#C4A882; --blush-lt:#E2D2BC; --ink:#2B2B2B; --muted:#7A7570; --white:#FFFFFF;
}
html { scroll-behavior: smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--ink); overflow-x:hidden; cursor:none; }

#cursor { width:12px;height:12px;background:var(--sage);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transition:transform 0.15s ease;transform:translate(-50%,-50%); }
#cursor-ring { width:36px;height:36px;border:1.5px solid var(--sage);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left 0.12s ease,top 0.12s ease,width 0.25s,height 0.25s;opacity:0.6; }

nav { position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.6rem 4rem;transition:background 0.4s,padding 0.4s; }
nav.scrolled { background:rgba(247,244,239,0.95);backdrop-filter:blur(12px);padding:1rem 4rem;box-shadow:0 1px 0 rgba(0,0,0,0.06); }
.nav-logo { font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;letter-spacing:0.04em;color:var(--ink);text-decoration:none; }
.nav-logo span { color:var(--sage-dark);font-style:italic;font-weight:300; }
.nav-links { display:flex;gap:2rem;list-style:none; }
.nav-links a { font-size:0.78rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color 0.3s; }
.nav-links a:hover { color:var(--sage-dark); }
.nav-cta { font-size:0.78rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--sage-dark);padding:0.65rem 1.5rem;border-radius:2px;transition:background 0.3s; }
.nav-cta:hover { background:var(--sage); }

.hero { min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden; }
.hero-left { display:flex;flex-direction:column;justify-content:center;padding:10rem 4rem 6rem 8rem;position:relative;z-index:2; }
.hero-eyebrow { font-size:0.72rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:1.8rem;opacity:0;animation:fadeUp 0.8s 0.3s forwards; }
.hero-title { font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,5.5vw,6rem);font-weight:300;line-height:1.08;color:var(--ink);margin-bottom:2rem;opacity:0;animation:fadeUp 0.9s 0.5s forwards; }
.hero-title em { font-style:italic;color:var(--sage-dark); }
.hero-subtitle { font-size:1rem;font-weight:300;line-height:1.75;color:var(--muted);max-width:400px;margin-bottom:3rem;opacity:0;animation:fadeUp 0.9s 0.7s forwards; }
.hero-actions { display:flex;gap:1.2rem;align-items:center;opacity:0;animation:fadeUp 0.9s 0.9s forwards; }
.btn-primary { display:inline-block;font-size:0.8rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--sage-dark);padding:1rem 2.2rem;border-radius:2px;transition:background 0.3s,transform 0.2s,box-shadow 0.3s; }
.btn-primary:hover { background:var(--sage);transform:translateY(-2px);box-shadow:0 8px 24px rgba(92,114,96,0.25); }
.btn-secondary { font-size:0.8rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1.5px solid var(--blush);padding-bottom:2px;transition:border-color 0.3s,color 0.3s; }
.btn-secondary:hover { color:var(--sage-dark);border-color:var(--sage-dark); }
.hero-right { position:relative;overflow:hidden; }
.hero-image-bg { position:absolute;inset:0;background:linear-gradient(135deg,var(--warm) 0%,var(--blush-lt) 60%,#D4C4AE 100%); }
.hero-deco { position:absolute;border-radius:50%;opacity:0.35; }
.hero-deco-1 { width:500px;height:500px;background:radial-gradient(circle,var(--sage) 0%,transparent 70%);top:10%;left:10%;animation:float 8s ease-in-out infinite; }
.hero-deco-2 { width:300px;height:300px;background:radial-gradient(circle,var(--blush) 0%,transparent 70%);bottom:20%;right:5%;animation:float 10s ease-in-out infinite reverse; }
.hero-badge { position:absolute;bottom:10%;left:8%;background:rgba(247,244,239,0.92);backdrop-filter:blur(10px);padding:1.5rem 2rem;border-radius:4px;border-left:3px solid var(--sage-dark);opacity:0;animation:fadeUp 1s 1.2s forwards; }
.hero-badge-num { font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:600;color:var(--sage-dark);line-height:1; }
.hero-badge-text { font-size:0.75rem;color:var(--muted);margin-top:0.3rem; }

.stats-bar { background:var(--ink);padding:2.5rem 8rem;display:flex;justify-content:space-between;align-items:center; }
.stat-item { text-align:center; }
.stat-num { font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:300;color:var(--blush-lt);line-height:1; }
.stat-label { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-top:0.4rem; }
.stat-divider { width:1px;height:48px;background:rgba(255,255,255,0.12); }

section { padding:7rem 0; }
.section-label { font-size:0.7rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:1.2rem; }
.section-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.5vw,3.4rem);font-weight:300;line-height:1.18;color:var(--ink);margin-bottom:1.5rem; }
.section-title em { font-style:italic;color:var(--sage-dark); }
.section-body { font-size:0.95rem;font-weight:300;line-height:1.85;color:var(--muted);max-width:520px; }

.about { background:var(--white); }
.about-inner { max-width:1200px;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:center; }
.about-image-wrap { position:relative; }
.about-photo { width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:4px;display:block; }
.about-tag { position:absolute;top:-20px;right:-20px;background:var(--sage-dark);color:var(--white);padding:1.2rem 1.5rem;border-radius:4px;text-align:center; }
.about-tag-big { font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;line-height:1; }
.about-tag-small { font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.8; }
.about-content { padding:2rem 0; }
.about-list { list-style:none;display:flex;flex-direction:column;gap:0.9rem;margin-top:2rem; }
.about-list li { display:flex;align-items:center;gap:0.8rem;font-size:0.88rem;color:var(--ink); }
.about-list li::before { content:'';width:22px;height:1.5px;background:var(--sage-dark);flex-shrink:0; }

.services { background:var(--cream); }
.services-inner { max-width:1200px;margin:0 auto;padding:0 4rem; }
.services-head { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.service-card { background:var(--white);padding:2.5rem 2.2rem;position:relative;overflow:hidden;transition:transform 0.35s cubic-bezier(0.22,1,0.36,1); }
.service-card:hover { transform:translateY(-6px); }
.service-card::after { content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--sage-dark);transition:width 0.4s ease; }
.service-card:hover::after { width:100%; }
.service-icon { width:48px;height:48px;background:var(--warm);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--sage-dark); }
.service-icon svg { width:22px;height:22px; }
.service-name { font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--ink);margin-bottom:0.8rem; }
.service-desc { font-size:0.83rem;font-weight:300;line-height:1.8;color:var(--muted); }
.service-num { position:absolute;top:1.5rem;right:1.8rem;font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--warm);line-height:1; }

.philosophy { background:var(--sage-dark);padding:8rem 0; }
.philosophy-inner { max-width:1200px;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:1fr 1.2fr;gap:8rem;align-items:center; }
.philosophy .section-label { color:var(--blush-lt);opacity:0.7; }
.philosophy .section-title { color:var(--white); }
.philosophy-quote { font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:300;font-style:italic;color:var(--white);line-height:1.5;padding-left:2rem;border-left:2px solid var(--blush-lt);opacity:0.9; }
.philosophy-author { margin-top:1.5rem;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--blush-lt);opacity:0.7;padding-left:2rem; }

.testimonials { background:var(--white); }
.testimonials-inner { max-width:1200px;margin:0 auto;padding:0 4rem; }
.testimonials-head { text-align:center;margin-bottom:4rem; }
.testimonials-head .section-body { margin:0 auto; }
.testimonials-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.testimonial-card { background:var(--cream);padding:2.5rem;border-radius:4px;position:relative; }
.testimonial-stars { display:flex;gap:3px;margin-bottom:1.2rem; }
.star { color:var(--blush);font-size:0.85rem; }
.testimonial-text { font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;line-height:1.7;color:var(--ink);margin-bottom:1.5rem; }
.testimonial-author { font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted); }
.testimonial-card::before { content:'\201C';font-family:'Cormorant Garamond',serif;font-size:6rem;line-height:0.8;color:var(--blush-lt);position:absolute;top:1.5rem;right:2rem; }

.realizacje { background:var(--cream); }
.realizacje-inner { max-width:1200px;margin:0 auto;padding:0 4rem; }
.realizacje-head { text-align:center;margin-bottom:4rem; }
.realizacje-head .section-body { margin:0 auto; }
.realizacje-grid { display:grid;grid-template-columns:1fr 1fr;gap:2.5rem; }
.ba-card { background:var(--white);border-radius:6px;overflow:hidden;box-shadow:0 4px 32px rgba(0,0,0,0.07);transition:transform 0.35s cubic-bezier(0.22,1,0.36,1),box-shadow 0.35s; }
.ba-card:hover { transform:translateY(-6px);box-shadow:0 12px 48px rgba(0,0,0,0.12); }
.ba-label-top { display:flex;justify-content:space-between;padding:1rem 1.2rem 0; }
.ba-tag { font-size:0.65rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:0.3rem 0.8rem;border-radius:2px; }
.before-tag { background:rgba(180,120,100,0.15);color:#8B5B47; }
.after-tag { background:rgba(92,114,96,0.15);color:var(--sage-dark); }
.ba-images { display:grid;grid-template-columns:1fr 3px 1fr;padding:0.8rem 1.2rem;gap:0; }
.ba-img-wrap { position:relative;overflow:hidden;border-radius:3px; }
.ba-img-wrap img { width:100%;height:190px;object-fit:cover;object-position:center top;display:block; }
.ba-img-label { position:absolute;bottom:6px;left:8px;font-size:0.6rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,0.38);padding:2px 7px;border-radius:2px; }
.ba-img-label.after-l { left:auto;right:8px;background:rgba(92,114,96,0.7); }
.ba-divider { background:var(--cream); }
.ba-desc { padding:1.2rem 1.5rem 1.6rem; }
.ba-type { display:inline-block;font-size:0.68rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--sage-dark);margin-bottom:0.5rem; }
.ba-desc p { font-size:0.85rem;font-weight:300;line-height:1.7;color:var(--muted); }

.contact { background:var(--white); }
.contact-inner { max-width:1200px;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:1fr 1fr;gap:8rem;align-items:start; }
.contact-details { margin-top:3rem;display:flex;flex-direction:column;gap:2rem; }
.contact-item { display:flex;gap:1.2rem;align-items:flex-start; }
.contact-icon { width:40px;height:40px;flex-shrink:0;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--sage-dark); }
.contact-icon svg { width:16px;height:16px; }
.contact-item-label { font-size:0.68rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:0.3rem; }
.contact-item-value { font-size:0.95rem;color:var(--ink); }
.contact-form { background:var(--cream);padding:3rem;border-radius:4px; }
.contact-form h3 { font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;margin-bottom:2rem;color:var(--ink); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label { display:block;font-size:0.7rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem; }
.form-group input,.form-group select,.form-group textarea { width:100%;background:var(--white);border:1.5px solid transparent;border-radius:2px;padding:0.9rem 1rem;font-family:'DM Sans',sans-serif;font-size:0.88rem;color:var(--ink);outline:none;transition:border-color 0.3s;resize:none; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--sage-dark); }
.form-submit { width:100%;background:var(--sage-dark);color:var(--white);border:none;padding:1rem;font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background 0.3s,transform 0.2s;margin-top:0.5rem; }
.form-submit:hover { background:var(--sage);transform:translateY(-1px); }

footer { background:var(--ink);padding:4rem 0 2rem; }
.footer-inner { max-width:1200px;margin:0 auto;padding:0 4rem; }
.footer-top { display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:2rem; }
.footer-brand { font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--cream); }
.footer-brand span { font-style:italic;font-weight:300;color:var(--blush-lt); }
.footer-links { display:flex;gap:3rem; }
.footer-col-title { font-size:0.68rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1.2rem; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:0.7rem; }
.footer-col a { font-size:0.85rem;font-weight:300;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.3s; }
.footer-col a:hover { color:var(--blush-lt); }
.footer-bottom { display:flex;justify-content:space-between;align-items:center; }
.footer-copy { font-size:0.72rem;color:rgba(255,255,255,0.25); }
.footer-social { display:flex;gap:1rem; }
.social-link { width:34px;height:34px;border:1px solid rgba(255,255,255,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);text-decoration:none;transition:border-color 0.3s,color 0.3s; }
.social-link:hover { border-color:var(--blush-lt);color:var(--blush-lt); }
.social-link svg { width:14px;height:14px; }

@keyframes fadeUp { from {opacity:0;transform:translateY(24px)} to {opacity:1;transform:translateY(0)} }
@keyframes float { 0%,100% {transform:translateY(0)} 50% {transform:translateY(-24px)} }
.reveal { opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1;transform:none; }

@media (max-width:900px) {
  nav { padding:1.2rem 2rem; } nav.scrolled { padding:0.8rem 2rem; }
  .nav-links,.nav-cta { display:none; }
  .hero { grid-template-columns:1fr;min-height:auto; }
  .hero-left { padding:8rem 2rem 4rem; }
  .hero-right { height:280px; }
  .stats-bar { padding:2rem;flex-wrap:wrap;gap:1.5rem;justify-content:center; }
  .stat-divider { display:none; }
  .about-inner,.contact-inner,.philosophy-inner { grid-template-columns:1fr;gap:3rem; }
  .services-inner,.testimonials-inner,.contact-inner,.about-inner,.realizacje-inner,.footer-inner { padding:0 1.5rem; }
  .services-grid,.testimonials-grid,.realizacje-grid { grid-template-columns:1fr; }
  .services-head { flex-direction:column;gap:1rem;align-items:flex-start; }
  .footer-top { flex-direction:column;gap:2rem; }
  .footer-links { flex-wrap:wrap;gap:2rem; }
  .form-row { grid-template-columns:1fr; }
}
