:root{
  --bg:#fbf6f0;
  --paper:#fffdf9;
  --paper-2:#f4eadf;
  --ink:#201712;
  --muted:#75695f;
  --green:#27473b;
  --green-2:#143328;
  --rose:#b86a78;
  --rose-2:#f2d1d8;
  --gold:#b98e4f;
  --line:rgba(32,23,18,.12);
  --shadow:0 28px 80px rgba(53,36,24,.15);
  --soft-shadow:0 18px 48px rgba(53,36,24,.10);
  --radius:34px;
  --container:min(1180px, calc(100vw - 40px));
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:
  radial-gradient(circle at 16% 0%, rgba(242,209,216,.55), transparent 34rem),
  radial-gradient(circle at 90% 12%, rgba(185,142,79,.18), transparent 31rem),
  var(--bg);
  color:var(--ink);font-family:var(--sans);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--green);color:#fff}

.skip-link{position:fixed;left:18px;top:14px;z-index:999;transform:translateY(-140%);background:#fff;color:var(--ink);padding:12px 16px;border-radius:999px;box-shadow:var(--soft-shadow)}
.skip-link:focus{transform:translateY(0)}

.container{width:var(--container);margin:0 auto}.section-pad{padding:112px 0}.soft-band{position:relative;background:linear-gradient(180deg, rgba(255,253,249,.58), rgba(244,234,223,.86));border-block:1px solid rgba(32,23,18,.08)}

.site-header{position:fixed;z-index:100;left:50%;top:18px;transform:translateX(-50%);width:min(1180px, calc(100vw - 28px));height:74px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;padding:12px 14px 12px 16px;border:1px solid rgba(32,23,18,.11);border-radius:999px;background:rgba(255,253,249,.68);box-shadow:0 12px 40px rgba(41,28,18,.09);backdrop-filter:blur(20px);transition:box-shadow .25s ease, background .25s ease, top .25s ease}
.site-header.is-scrolled{top:12px;background:rgba(255,253,249,.86);box-shadow:0 18px 50px rgba(41,28,18,.13)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand img{width:44px;height:44px}.brand strong{display:block;font-family:var(--serif);font-size:27px;line-height:.9;letter-spacing:-.04em}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.13em}
.nav{justify-self:center;display:flex;align-items:center;gap:4px}.nav a{position:relative;padding:12px 15px;border-radius:999px;color:#4b4038;font-weight:700;font-size:14px;transition:background .2s ease,color .2s ease}.nav a:hover,.nav a.active{background:rgba(39,71,59,.09);color:var(--green)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 21px;border-radius:999px;border:1px solid rgba(32,23,18,.13);font-weight:850;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.nav-cta{background:var(--green);color:#fff;box-shadow:0 12px 28px rgba(39,71,59,.23)}
.btn.primary{background:var(--green);color:#fff;box-shadow:0 16px 36px rgba(39,71,59,.22);border-color:transparent}.btn.ghost{background:rgba(255,253,249,.58);color:var(--green)}.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(53,36,24,.15)}
.menu-toggle{display:none;width:48px;height:48px;border:1px solid rgba(32,23,18,.12);border-radius:50%;background:#fffdf9;place-items:center}.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:99px;margin:2px 0;transition:transform .2s ease}.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}

.hero{position:relative;min-height:100svh;padding:154px max(20px,calc((100vw - 1180px)/2)) 86px;display:grid;grid-template-columns:minmax(0, .92fr) minmax(460px, 1.08fr);gap:56px;align-items:center;overflow:hidden}.ambient{position:absolute;border-radius:50%;filter:blur(18px);opacity:.7;pointer-events:none}.ambient.one{width:460px;height:460px;background:rgba(242,209,216,.55);left:-130px;top:54px}.ambient.two{width:520px;height:520px;background:rgba(39,71,59,.13);right:-170px;bottom:-120px}
.eyebrow{margin:0 0 18px;color:var(--rose);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.18em}.hero h1,.section-heading h2,.contact-copy h2{font-family:var(--serif);font-weight:500;letter-spacing:-.067em}.hero h1{margin:0;font-size:clamp(4.25rem,9vw,8.9rem);line-height:.82;max-width:830px}.lead{max-width:630px;margin:26px 0 0;color:#5e5249;font-size:20px;line-height:1.72}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero-facts span{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.58);color:#64574e;font-size:13px}.hero-facts strong{color:var(--green);font-weight:950}

.hero-visual{position:relative;height:min(690px,70vh);min-height:560px;isolation:isolate;--mx:0px;--my:0px;transform:translate3d(calc(var(--mx) * .018), calc(var(--my) * .018),0);transition:transform .25s ease-out}.hero-visual::before{content:"";position:absolute;left:4%;right:6%;bottom:4%;height:42%;border-radius:50%;background:radial-gradient(ellipse, rgba(53,36,24,.23), transparent 67%);filter:blur(28px);z-index:-2}.hero-photo{position:absolute;margin:0;overflow:hidden;background:#eadfd4;border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow)}.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.hero-photo:hover img{transform:scale(1.045)}
.main-photo{inset:7% 6% 4% 8%;border-radius:48px}.main-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 42%, rgba(24,16,12,.28));pointer-events:none}.small-photo{width:38%;height:31%;border-radius:32px;z-index:2}.small-photo.top{right:0;top:0;transform:translate3d(calc(var(--mx) * -.012),calc(var(--my) * -.012),0)}.small-photo.bottom{left:0;bottom:10%;transform:translate3d(calc(var(--mx) * .012),calc(var(--my) * .012),0)}
.floating-note{position:absolute;z-index:3;padding:14px 16px;border:1px solid rgba(255,255,255,.62);border-radius:22px;background:rgba(255,253,249,.72);box-shadow:0 16px 36px rgba(53,36,24,.12);backdrop-filter:blur(16px);color:#665950;font-size:13px;line-height:1.18}.floating-note strong{font-family:var(--serif);font-size:21px;color:var(--ink);font-weight:500}.note-a{left:10%;top:10%}.note-b{right:7%;bottom:12%}
.photo-fallback{position:relative;background:linear-gradient(135deg,#f3ddd7,#f7efe4 48%,#d9e5dc)}.photo-fallback::before{content:"";position:absolute;inset:18px;border:1px solid rgba(39,71,59,.14);border-radius:inherit}.photo-fallback::after{content:"Tu wstaw zdjęcie klienta";position:absolute;left:24px;right:24px;bottom:22px;padding:12px 14px;border-radius:999px;background:rgba(255,253,249,.78);color:var(--green);font-weight:900;text-align:center;box-shadow:0 12px 28px rgba(53,36,24,.09)}

.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.section-heading h2{margin:0;font-size:clamp(2.9rem,6vw,6.8rem);line-height:.88}.section-heading.centered{text-align:center;max-width:850px;margin:0 auto 54px}.section-lead{max-width:610px;margin:22px auto 0;color:var(--muted);font-size:18px;line-height:1.7}.intro-text{display:grid;gap:18px;padding-top:10px}.intro-text p{margin:0;color:#5e5249;font-size:19px;line-height:1.85}

.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.offer-card{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--paper);border:1px solid rgba(32,23,18,.10);box-shadow:var(--soft-shadow);transition:transform .25s ease, box-shadow .25s ease}.offer-card:hover{transform:translateY(-6px);box-shadow:0 26px 66px rgba(53,36,24,.16)}.offer-card figure{height:270px;margin:0;overflow:hidden;background:#eadfd4}.offer-card img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.offer-card:hover img{transform:scale(1.06)}.offer-card div{padding:24px}.card-label{display:inline-flex;margin-bottom:14px;color:var(--gold);font-weight:950;letter-spacing:.16em}.offer-card h3{margin:0 0 12px;font-family:var(--serif);font-weight:500;font-size:34px;line-height:.98;letter-spacing:-.04em}.offer-card p{margin:0;color:#685d54;line-height:1.65}.offer-card a{display:inline-flex;margin-top:22px;color:var(--green);font-weight:900}.offer-card a::after{content:"→";margin-left:8px;transition:transform .2s ease}.offer-card a:hover::after{transform:translateX(4px)}

.gallery-editorial{position:relative;overflow:hidden}.gallery-editorial::before{content:"";position:absolute;left:-18vw;top:10%;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle, rgba(242,209,216,.34), transparent 68%);pointer-events:none}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px;align-items:start}.gallery-copy{position:relative;min-height:100%}.gallery-sticky{position:sticky;top:126px;padding:10px 0 40px}.gallery-copy h2{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-.065em;font-size:clamp(4.4rem,8.2vw,8.7rem);line-height:.82;max-width:560px}.gallery-copy p:not(.eyebrow){max-width:520px;margin:28px 0 0;color:#5e5249;font-size:19px;line-height:1.78}.gallery-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;margin-top:32px}.gallery-tabs button{border:1px solid rgba(32,23,18,.12);background:rgba(255,253,249,.72);padding:11px 14px;border-radius:999px;color:#5b514a;font-weight:850}.gallery-tabs button.active,.gallery-tabs button:hover{background:var(--green);color:#fff}.gallery-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:var(--green);font-weight:950}.gallery-link::after{content:"→";transition:transform .2s ease}.gallery-link:hover::after{transform:translateX(4px)}
.masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:18px}.editorial-masonry{padding-top:8px}.gallery-item{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:34px;background:#eadfd4;box-shadow:var(--soft-shadow);text-align:left}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .85s ease,filter .85s ease}.gallery-item:hover img{transform:scale(1.055);filter:saturate(1.05) contrast(1.02)}.gallery-item span{position:absolute;left:16px;right:16px;bottom:16px;padding:15px 16px;border-radius:999px;background:rgba(32,23,18,.38);color:#fff;backdrop-filter:blur(14px);font-weight:900;text-align:center}.gallery-item.is-hidden{display:none}

.quote-band{padding:100px 0;background:#132d25;color:#fff;position:relative;overflow:hidden}.quote-band::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 18% 30%,rgba(184,106,120,.36),transparent 30%),radial-gradient(circle at 72% 50%,rgba(185,142,79,.24),transparent 35%);filter:blur(10px)}.quote-inner{position:relative;text-align:center;max-width:960px}.quote-inner p{margin:0;font-family:var(--serif);font-size:clamp(2.6rem,5.2vw,6.2rem);line-height:.92;letter-spacing:-.06em;font-weight:500}.quote-inner span{display:block;margin-top:26px;color:rgba(255,255,255,.64);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12px}

.process-grid{display:block}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.step{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:360px;padding:30px;border-radius:32px;background:rgba(255,253,249,.72);border:1px solid rgba(32,23,18,.10);box-shadow:0 18px 48px rgba(53,36,24,.08);overflow:hidden}.step::after{content:"";position:absolute;right:-46px;bottom:-64px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle, rgba(184,106,120,.18), transparent 68%);pointer-events:none}.step span{position:relative;z-index:1;width:64px;height:64px;border-radius:24px;background:var(--green);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:32px;margin-bottom:24px}.step h3{position:relative;z-index:1;margin:0 0 16px;font-family:var(--serif);font-weight:500;font-size:clamp(2rem,2.7vw,2.85rem);line-height:.98;letter-spacing:-.045em}.step p{position:relative;z-index:1;margin:0;color:#675c53;font-size:16px;line-height:1.76}.step a{color:var(--green);font-weight:950;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:start}.contact-copy h2{margin:0;font-size:clamp(2.8rem,5.8vw,6.4rem);line-height:.88}.contact-copy > p:not(.eyebrow){margin:24px 0 0;color:#5e5249;font-size:18px;line-height:1.78}.contact-list{display:grid;gap:10px;margin-top:32px}.contact-list a,.contact-list span{display:flex;align-items:center;min-height:56px;padding:0 18px;border:1px solid rgba(32,23,18,.11);border-radius:18px;background:rgba(255,253,249,.64);font-weight:800;color:#41372f}
.contact-side{display:grid;gap:22px}.contact-form{display:grid;gap:16px;padding:30px;border-radius:38px;background:rgba(255,253,249,.74);border:1px solid rgba(32,23,18,.10);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.contact-form label{display:grid;gap:8px;color:#4f453e;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(32,23,18,.13);border-radius:18px;background:#fffdf9;padding:15px 16px;color:var(--ink);outline:none;text-transform:none;letter-spacing:0;font-weight:600}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(39,71,59,.10)}.form-note{margin:0;color:var(--green);font-weight:850;min-height:20px}.contact-map{overflow:hidden;border-radius:38px;background:linear-gradient(135deg,rgba(255,253,249,.86),rgba(248,239,231,.74));border:1px solid rgba(32,23,18,.10);box-shadow:0 22px 58px rgba(53,36,24,.11)}.map-frame{position:relative;min-height:340px;background:radial-gradient(circle at 24% 24%,rgba(184,106,120,.20),transparent 32%),linear-gradient(135deg,#f8efe7,#eee0d4)}.map-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(248,239,231,.12),rgba(39,71,59,.10));mix-blend-mode:multiply}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.68) sepia(.18) saturate(.82) hue-rotate(325deg) brightness(1.03) contrast(.92)}.map-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;background:rgba(255,253,249,.82)}.map-caption span{color:#453b34;font-weight:900}.map-caption a{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:950;white-space:nowrap}.map-caption a::after{content:"→";transition:transform .2s ease}.map-caption a:hover::after{transform:translateX(4px)}

.footer{padding:36px 0;background:#0f231d;color:#fff}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer strong{font-family:var(--serif);font-weight:500;font-size:40px;letter-spacing:-.05em}.footer p{margin:4px 0 0;color:rgba(255,255,255,.58)}.footer a{color:rgba(255,255,255,.78);font-weight:900}

.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:34px;background:rgba(18,12,8,.72);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .22s ease}.lightbox.is-open{opacity:1;pointer-events:auto}.lightbox img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.34);background:#fff}.lightbox button{position:absolute;right:24px;top:22px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1080px){
  .site-header{grid-template-columns:auto 1fr auto}.nav{position:fixed;left:0;right:0;top:88px;display:grid;gap:6px;padding:12px;border-radius:30px;background:rgba(255,253,249,.94);box-shadow:var(--soft-shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s ease}.menu-open .nav{opacity:1;pointer-events:auto;transform:translateY(0)}.nav a{text-align:center}.nav-cta{justify-self:end}.menu-toggle{display:grid}.hero{grid-template-columns:1fr;gap:34px;padding-top:132px}.hero-visual{height:620px;min-height:520px}.offer-grid{grid-template-columns:repeat(2,1fr)}.gallery-layout,.intro-grid,.contact-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.gallery-sticky{position:relative;top:auto;padding-bottom:0}.gallery-tabs{justify-content:flex-start}.masonry{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  :root{--container:calc(100vw - 28px)}.section-pad{padding:78px 0}.site-header{top:10px;width:calc(100vw - 20px);height:66px;gap:10px;padding:10px}.brand img{width:38px;height:38px}.brand strong{font-size:23px}.brand small{display:none}.nav-cta{display:none}.menu-toggle{width:44px;height:44px}.nav{top:76px}.hero{padding:112px 14px 64px;min-height:auto}.hero h1{font-size:clamp(4.1rem,18vw,6.8rem)}.lead{font-size:17px}.hero-facts{display:grid}.hero-visual{height:520px;min-height:460px}.main-photo{inset:6% 0 8% 5%;border-radius:36px}.small-photo{width:47%;height:27%;border-radius:26px}.small-photo.top{right:2%;top:1%}.small-photo.bottom{left:0;bottom:2%}.floating-note{display:none}.section-heading h2,.gallery-copy h2,.contact-copy h2{font-size:clamp(3rem,14vw,5rem)}.offer-grid,.masonry,.steps{grid-template-columns:1fr}.gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto;height:330px}.step{min-height:auto;padding:24px}.footer-inner{display:grid}.lightbox{padding:18px}.lightbox button{right:14px;top:14px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-visual,.small-photo{transform:none!important}
}

/* Responsywne dopracowanie sekcji Realizacje i mapy */
.gallery-layout > *,
.contact-grid > *,
.intro-grid > *,
.offer-grid > *,
.steps > *{min-width:0}
.gallery-copy h2{overflow-wrap:normal;text-wrap:balance}.gallery-copy p:not(.eyebrow){text-wrap:pretty}.editorial-masonry{width:100%;min-width:0}.gallery-item{min-width:0}.gallery-tabs button{white-space:normal}.map-frame iframe{z-index:1}.map-frame::after{z-index:2}.map-flower-marker{position:absolute;left:50%;top:48%;z-index:4;width:86px;height:98px;transform:translate(-50%,-50%);display:block;filter:drop-shadow(0 18px 22px rgba(83,45,35,.25));transition:transform .22s ease,filter .22s ease}.map-flower-marker:hover{transform:translate(-50%,-54%) scale(1.04);filter:drop-shadow(0 22px 28px rgba(83,45,35,.30))}.map-flower-marker::after{content:"";position:absolute;left:50%;top:61px;width:20px;height:28px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,var(--green),#17362b);transform:translateX(-50%) rotate(2deg);box-shadow:inset 0 4px 10px rgba(255,255,255,.10)}.petal{position:absolute;left:50%;top:38px;width:34px;height:48px;border-radius:28px 28px 10px 28px;transform-origin:50% 28px;background:var(--rose-2);box-shadow:inset -8px -12px 18px rgba(184,106,120,.20),inset 5px 8px 12px rgba(255,255,255,.42)}.petal-a{background:linear-gradient(135deg,#ffdbe3,#f094aa);transform:translate(-50%,-50%) rotate(0deg) translateY(-19px)}.petal-b{background:linear-gradient(135deg,#f7c6d2,#b86a78);transform:translate(-50%,-50%) rotate(72deg) translateY(-19px)}.petal-c{background:linear-gradient(135deg,#ffe7ad,#d6a858);transform:translate(-50%,-50%) rotate(144deg) translateY(-19px)}.petal-d{background:linear-gradient(135deg,#d8eadf,#6f9b82);transform:translate(-50%,-50%) rotate(216deg) translateY(-19px)}.petal-e{background:linear-gradient(135deg,#f1d3ff,#b98eeb);transform:translate(-50%,-50%) rotate(288deg) translateY(-19px)}.flower-heart{position:absolute;left:50%;top:38px;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 34% 32%,#fff7cc 0 18%,#f3c955 19% 58%,#b98e4f 59% 100%);transform:translate(-50%,-50%);box-shadow:0 6px 14px rgba(82,51,21,.22)}

@media (max-width:1080px){
  .gallery-layout{grid-template-columns:1fr;gap:30px}.gallery-copy{min-height:auto}.gallery-sticky{position:relative;top:auto;padding:0}.gallery-copy h2{max-width:820px;font-size:clamp(3.6rem,9vw,6.6rem);line-height:.9}.gallery-copy p:not(.eyebrow){max-width:760px;margin-top:22px}.editorial-masonry{padding-top:4px}.masonry{grid-auto-rows:210px}.map-caption{flex-wrap:wrap}.map-caption a{white-space:normal}
}

@media (max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}.gallery-editorial{overflow:hidden}.gallery-layout{display:block}.gallery-copy{margin-bottom:28px}.gallery-sticky{padding:0}.gallery-copy h2{font-size:clamp(2.75rem,12vw,4.25rem);line-height:.98;letter-spacing:-.045em;max-width:100%;word-break:normal}.gallery-copy p:not(.eyebrow){font-size:16px;line-height:1.72;margin-top:18px;max-width:100%}.gallery-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.gallery-tabs button{width:100%;padding:12px 10px;text-align:center}.gallery-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:16px;padding:0 16px;border:1px solid rgba(39,71,59,.18);border-radius:999px;background:rgba(255,253,249,.72);text-align:center}.masonry{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:16px}.editorial-masonry{padding-top:0}.gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:1 / -1!important;grid-row:auto!important;height:auto;min-height:0;aspect-ratio:4/5;border-radius:26px}.gallery-item.wide{aspect-ratio:1.12 / 1}.gallery-item span{left:12px;right:12px;bottom:12px;padding:12px 14px;font-size:14px}.contact-grid{gap:34px}.contact-form{padding:22px;border-radius:28px}.contact-map{border-radius:28px}.map-frame{min-height:300px}.map-flower-marker{width:76px;height:88px;top:47%}.map-caption{display:grid;grid-template-columns:1fr;gap:10px;padding:16px}.map-caption a{justify-content:flex-start}.contact-list a,.contact-list span{align-items:flex-start;height:auto;min-height:52px;padding:15px 16px;line-height:1.45}.footer strong{font-size:34px}.footer p{line-height:1.55}
}

@media (max-width:430px){
  :root{--container:calc(100vw - 24px)}.section-pad{padding:68px 0}.gallery-copy h2{font-size:clamp(2.55rem,11.5vw,3.55rem);line-height:1}.gallery-tabs{grid-template-columns:1fr}.gallery-item,.gallery-item.tall,.gallery-item.wide{aspect-ratio:1 / 1.08}.map-frame{min-height:270px}.map-flower-marker{width:68px;height:78px}.petal{width:29px;height:42px}.flower-heart{width:22px;height:22px}
}


/* Treść pozostaje widoczna także wtedy, gdy animacje lub JavaScript są zablokowane. */
.reveal{opacity:1;transform:none}
body.js-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}
body.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
