@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{--purple:#7d3989;--ink:#111c24;--muted:#757780;--paper:#faf7f2;--gutter:clamp(24px,4.9cqw,90px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:5px}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.page{min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 25% 50%,#fffdfa00,#efe7dd38)}.header{position:relative;z-index:5;display:flex;align-items:center;gap:34px;padding:28px var(--gutter) 18px;min-height:114px}.brand{display:flex;align-items:center;gap:20px;flex-shrink:0}.brand svg{width:47px;height:74px;color:var(--purple)}.brand>span{font-size:var(--font-title);letter-spacing:5px}.brand small{display:block;font-size:var(--font-small);letter-spacing:1.5px;color:var(--muted);margin-top:4px}.header nav{display:flex;justify-content:center;gap:36px;flex:1;font-size:var(--font-body)}.header nav a:hover{color:var(--purple)}.city{display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:var(--font-body)}.city svg{width:25px;height:27px}.city span{font-size:var(--font-small);margin-left:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:60px;padding:0 32px;border-radius:var(--button-radius);background:linear-gradient(115deg,#80368b,#743481);color:#fff;font-size:var(--font-body);transition:transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:var(--font-title)}.header-cta{border-radius:var(--button-radius);min-height:58px;white-space:nowrap;padding:0 27px;font-size:var(--font-body)}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:44% 56%;min-height:calc(100vh - 120px);padding-left:var(--gutter)}.hero-copy{position:relative;z-index:2;padding-top:100px;padding-bottom:65px}.eyebrow{display:flex;align-items:center;gap:15px;white-space:nowrap;font-size:var(--font-small);letter-spacing:1.4px;color:var(--muted)}.eyebrow i{height:1px;flex:1;max-width:160px;background:#c5b2c6}.eyebrow span{letter-spacing:1px;margin-right:8px}h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:var(--font-hero);line-height:1.08;letter-spacing:-3px;margin:38px 0 24px}h1 em{font-style:normal;color:var(--purple);white-space:nowrap}.intro{font-size:var(--font-title);line-height:1.48;letter-spacing:-.5px;color:#70727b;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.hero-actions .button{min-width:239px}.how-link{display:flex;gap:19px;align-items:center;font-size:var(--font-body);white-space:nowrap}.how-link>span:last-child{border-bottom:1px solid #b58bba;padding-bottom:7px}.play{display:grid;place-items:center;width:59px;height:59px;border:3px solid #e0cede;border-radius:50%;color:var(--purple);font-size:var(--font-body);padding-left:3px}.benefits{display:grid;grid-template-columns:.9fr 1.15fr 1fr;margin-top:74px;max-width:590px}.benefit{padding-right:20px}.benefit+.benefit{border-left:1px solid #ded7d5;padding-left:28px}.icon-circle{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:var(--purple);background:#eee2ee}.icon-circle svg{width:32px;height:32px}.benefit h2{font-size:var(--font-body);line-height:1.4;font-weight:500;margin:11px 0 6px}.benefit p{font-size:var(--font-body);line-height:1.5;color:var(--muted);margin:0}.hero-visual{position:relative;min-height:865px}.hero-photo{position:absolute;inset:0 -1px 0 0;border-radius:45% 0 0 45% / 42% 0 0 36%;background:url('assets/hero-v2.png') center center/cover no-repeat}.services{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:57%;max-width:490px;margin:151px var(--gutter) 100px auto}.service{border-radius:30px;background:#fcf9f4;padding:22px 28px 25px;min-height:258px;box-shadow:0 12px 25px #241e1410}.service-tinted{background:#f2e8f4}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.service-icon{display:grid;place-items:center;width:78px;height:78px;background:#efe5ee;border-radius:50%;color:var(--purple)}.service-icon svg{width:42px;height:46px}.service-tinted .service-icon{background:#ead9ed}.card-arrow{display:grid;place-items:center;width:41px;height:41px;border:1.5px solid #ddc2e0;border-radius:50%;color:var(--purple);font-size:var(--font-title);transition:background .2s}.card-arrow:hover{background:#e9d9ec}.service h2{font-family:'Playfair Display',Georgia,serif;font-size:var(--font-title);line-height:1.15;font-weight:400;letter-spacing:-.7px;margin:0 0 10px}.service p{font-size:var(--font-body);line-height:1.5;color:var(--muted);letter-spacing:-.3px;margin:0}.custom-offer{background:linear-gradient(130deg,#854092,#743680);color:#fff}.custom-offer .service-icon{background:transparent;border:1px solid #d7b8db;color:#fff}.custom-offer .service-icon svg{height:60px;width:42px;stroke-width:1}.custom-offer .card-arrow{color:#fff;border-color:#d7b8db}.custom-offer .card-arrow:hover{background:#ffffff20}.custom-offer p{color:#f0e4f3}.botanical{position:absolute;z-index:1;pointer-events:none;color:#b57bb9;opacity:.6}.botanical svg{width:100%;height:100%;stroke-width:.7}.botanical-top{width:140px;height:205px;left:43%;top:-12px;transform:rotate(-18deg)}.botanical-bottom{left:39%;bottom:65px;width:190px;height:450px;transform:rotate(-32deg)}.botanical-bottom svg{height:50%}.botanical-bottom svg+svg{transform:rotate(85deg)}
@media(max-width:1250px){.header{gap:22px}.header nav{gap:20px}.city{display:none}.hero-copy{padding-top:70px}.hero{grid-template-columns:46% 54%}h1{font-size:var(--font-hero);letter-spacing:-2px}.intro{font-size:var(--font-body)}.eyebrow{font-size:var(--font-small);gap:10px;letter-spacing:1px}.hero-actions{gap:18px}.hero-actions .button{min-width:190px;padding:0 23px;font-size:var(--font-body)}.how-link{font-size:var(--font-small);gap:10px}.play{width:49px;height:49px}.services{width:65%;margin-top:125px;gap:12px}.service{padding:20px;min-height:240px}.service h2{font-size:var(--font-title)}.service p{font-size:var(--font-small)}.service-icon{width:64px;height:64px}.service-icon svg{width:34px;height:40px}.hero-visual{min-height:780px}.benefits{margin-top:60px}.benefit+.benefit{padding-left:18px}.benefit{padding-right:10px}.benefit h2{font-size:var(--font-body)}.benefit p{font-size:var(--font-small)}.botanical-top{left:45%}.botanical-bottom{left:41%}}
@media(max-width:950px){.header nav{display:none;position:absolute;top:105px;left:var(--gutter);right:var(--gutter);padding:25px;flex-direction:column;background:var(--paper);box-shadow:0 12px 30px #0002;border-radius:18px}.header nav.is-open{display:flex}.menu-toggle{display:block;margin-left:auto;border:0;background:none;color:var(--purple);font-size:var(--font-title)}.header-cta{min-height:50px;font-size:var(--font-body);padding:0 20px}.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:45px var(--gutter) 40px}.eyebrow{max-width:590px;font-size:var(--font-small)}h1{font-size:var(--font-hero)}.intro{font-size:var(--font-title)}.hero-actions{gap:30px}.hero-actions .button{min-width:230px}.benefits{max-width:620px;margin-top:45px}.benefit h2{font-size:var(--font-body)}.benefit p{font-size:var(--font-body)}.hero-visual{min-height:680px}.hero-photo{left:8%;border-radius:38% 0 0 38% / 45% 0 0 35%}.services{width:55%;max-width:460px;margin-top:70px;margin-bottom:70px}.service{min-height:250px}.service p{font-size:var(--font-body)}.botanical-top{left:auto;right:5%;top:20px;opacity:.3}.botanical-bottom{display:none}}
@media(max-width:600px){:root{--gutter:22px}.header{padding-top:18px;min-height:95px;gap:12px}.brand{gap:12px}.brand svg{width:37px;height:59px}.brand>span{font-size:var(--font-body);letter-spacing:4px}.brand small{font-size:var(--font-small);letter-spacing:1px}.header-cta{display:none}.hero-copy{padding-top:28px}.eyebrow{font-size:var(--font-small);letter-spacing:1px;gap:8px}.eyebrow i{min-width:15px}.eyebrow span{font-size:var(--font-small)}h1{font-size:var(--font-hero);letter-spacing:-1.8px;margin:28px 0 23px}.intro{font-size:var(--font-body)}.desktop-break{display:none}.hero-actions{flex-wrap:wrap;gap:20px;margin-top:25px}.hero-actions .button{min-width:190px;min-height:55px}.how-link{font-size:var(--font-small)}.benefits{margin-top:38px;grid-template-columns:repeat(3,1fr)}.benefit{padding-right:8px}.benefit+.benefit{padding-left:12px}.icon-circle{width:48px;height:48px}.icon-circle svg{width:27px;height:27px}.benefit h2{font-size:var(--font-small)}.benefit p{font-size:var(--font-small)}.benefit p br{display:none}.hero-visual{min-height:650px}.hero-photo{left:0;border-radius:100px 0 0 0;background-position:40% center}.services{width:auto;max-width:none;margin:100px var(--gutter) 30px;gap:12px}.service{border-radius:23px;padding:17px;min-height:231px}.service h2{font-size:var(--font-title)}.service p{font-size:var(--font-small)}.service p br{display:none}.service-icon{width:59px;height:59px}.service-icon svg{width:32px;height:38px}.custom-offer .service-icon svg{height:45px}.card-arrow{width:31px;height:31px;font-size:var(--font-body)}.botanical-top{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card-arrow{transition:none}}
/* Zachowaj czytelność menu i odsuń ornamenty od treści. */
.header nav a{white-space:nowrap}
.botanical-bottom{left:44%;width:125px;opacity:.35}
@media(min-width:951px) and (max-width:1350px){.header nav{gap:22px}.header{gap:24px}.brand{gap:14px}.brand>span{font-size:var(--font-title)}.brand small{font-size:var(--font-small)}.header-cta{padding-inline:23px}.city{font-size:var(--font-small);gap:8px}.service{padding-inline:22px}.botanical-top{width:105px;left:44%;opacity:.35}}

/* Większe menu i obrys fotografii dopasowany do projektu. */
.header nav{font-size:var(--font-body);gap:clamp(18px,2cqw,34px)}
.header{gap:26px}
.hero-visual{min-height:0;aspect-ratio:0.955;align-self:start}
.hero-photo{border-radius:0;clip-path:url(#hero-photo-shape);background-size:cover;background-position:center}
@media(min-width:951px){.services{margin-top:clamp(120px,9.85cqw,180px);margin-bottom:40px}.service{min-height:clamp(235px,16.8cqw,280px)}}
@media(min-width:951px) and (max-width:1350px){.city{display:none}.header nav{gap:24px}.hero-copy{padding-top:80px}.services{width:62%}.service{padding-inline:20px}.service p{font-size:var(--font-small)}}
@media(max-width:950px){.header nav{font-size:var(--font-body)}.hero-visual{aspect-ratio:auto;min-height:680px}.hero-photo{left:8%}}
@media(max-width:600px){.hero-visual{min-height:650px}.hero-photo{left:0;clip-path:none;border-radius:100px 0 0 0}}

/* Organiczna maska, rysowane gałązki i pieczęć przy brzegu fotografii. */
.hero-photo{inset:0 var(--gutter) 0 -25px;clip-path:url(#hero-photo-shape)}
.memory-seal{position:absolute;z-index:3;left:-60px;top:18%;width:145px;aspect-ratio:1;border-radius:50%;background:linear-gradient(140deg,#f1e7f1,#eadee9);box-shadow:0 9px 30px #54365308;color:var(--purple)}
.memory-seal>svg{width:100%;height:100%;stroke-width:1.6}
.memory-seal text{fill:#56515a;stroke:none;font-family:'DM Sans',Arial,sans-serif;font-size:var(--font-small);letter-spacing:2.5px}
.memory-seal .seal-memory{font-size:var(--font-small);letter-spacing:1.7px}
.botanical-top{left:43%;top:-28px;width:148px;height:290px;transform:rotate(5deg);opacity:.55}
.botanical-bottom{left:39.7%;bottom:5%;width:190px;height:470px;transform:rotate(-23deg);opacity:.5}
.botanical-bottom svg{height:76%;position:absolute;bottom:18%;left:0}
.botanical-bottom svg+svg{height:55%;bottom:-1%;left:3%;transform:rotate(92deg)}
@media(min-width:951px) and (max-width:1350px){.memory-seal{width:120px;left:-40px}.botanical-top{left:45%;width:115px;height:245px}.botanical-bottom{left:42%;width:135px;height:390px}}
@media(max-width:950px){.hero-photo{inset:0 var(--gutter) 0 6%}.memory-seal{left:5%;top:35px;width:120px}.botanical-top{left:auto;right:4%;top:20px;width:100px;height:190px}.botanical-bottom{display:none}}
@media(max-width:600px){.hero-photo{inset:0;clip-path:url(#hero-photo-shape);border-radius:0}.memory-seal{left:12px;top:22px;width:95px}}
/* Środek pieczęci leży na lewej krawędzi maski zdjęcia. */
@media(min-width:951px){
  .memory-seal{left:calc(14% - 25px);top:26%;transform:translate(-50%,-50%)}
}
@media(min-width:601px) and (max-width:950px){
  .memory-seal{left:19%;top:26%;transform:translate(-50%,-50%)}
}
@media(max-width:600px){
  .memory-seal{left:14%;top:26%;transform:translate(-50%,-50%)}
}
/* Gałązka wysuwa się spod zdjęcia; pieczęć większa o 30%. */
.botanical-top{transform:translateX(35px) rotate(-40deg);transform-origin:50% 80%}
.memory-seal{width:188.5px}
@media(min-width:951px) and (max-width:1350px){.memory-seal{width:156px}}
@media(min-width:601px) and (max-width:950px){.memory-seal{width:156px}}
@media(max-width:600px){.memory-seal{width:123.5px}}

/* Cztery poziomy typografii, wspólne dla całej strony. */
:root{--font-hero:80px;--font-title:24px;--font-body:17px;--font-small:14px}
h1{font-size:var(--font-hero)}
.brand>span,.service h2{font-size:var(--font-title)}
.header nav,.city,.button,.header-cta,.intro,.how-link,.benefit h2{font-size:var(--font-body)}
.brand small,.eyebrow,.eyebrow span,.service p,.benefit p,.memory-seal text,.memory-seal .seal-memory{font-size:var(--font-small)}
@media(max-width:1250px){:root{--font-hero:64px}}
@media(max-width:950px){:root{--font-hero:56px}}
@media(max-width:600px){:root{--font-hero:40px;--font-title:22px;--font-body:16px;--font-small:14px}.eyebrow{white-space:normal}.eyebrow span{white-space:nowrap}.hero-actions{gap:16px}.benefit h2{overflow-wrap:normal}}

/* Stała kompozycja na dużych ekranach i przy pomniejszeniu zoomu. */
body{background:var(--paper)}
.page{width:100%;max-width:1536px;margin-inline:auto;min-height:0;container-type:inline-size;background:none;--gutter:clamp(22px,4.9cqw,75px)}
.hero{min-height:0}
@media(min-width:1351px){
  .hero-copy{padding-top:100px;padding-bottom:65px}
  .hero-visual{min-height:0;aspect-ratio:.955}
  .services{margin-top:151px;margin-bottom:40px}
  .service{min-height:258px}
}
/* Kafelki wystają poza prawą krawędź fotografii. */
@media(min-width:951px){
  .hero-photo{right:calc(var(--gutter) + 40px)}
}

/* Logo dostarczone przez właściciela strony. */
.brand-logo{display:block;width:240px;height:auto;object-fit:contain}
@media(max-width:1250px){.brand-logo{width:210px}}
@media(max-width:600px){.brand-logo{width:180px}}
/* Logo mniejsze o 20%, bez dolnego podpisu po prawej. */
.brand-logo{width:192px;clip-path:polygon(0 0,100% 0,100% 80%,36% 80%,36% 100%,0 100%)}
@media(max-width:1250px){.brand-logo{width:168px}}
@media(max-width:600px){.brand-logo{width:144px}}
/* Opisy usług i indywidualnej oferty. */
.service p{font-size:14px}

/* Nazwa wyśrodkowana w pionie względem łuku, niezależnie od podpisu. */
.brand-art{position:relative;display:block;width:192px;aspect-ratio:1920/819}
.brand-art img{position:absolute;inset:0;display:block;width:100%;height:auto}
.brand-symbol{clip-path:polygon(0 0,36% 0,36% 100%,0 100%)}
.brand-name{clip-path:polygon(36% 0,100% 0,100% 80%,36% 80%);transform:translateY(2%)}
@media(max-width:1250px){.brand-art{width:168px}}
@media(max-width:600px){.brand-art{width:144px}}

/* Podstrony i wspólna stopka. */
.header nav a[aria-current="page"]{color:var(--purple);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.content-intro{padding:60px var(--gutter) 40px;max-width:1150px}
.content-kicker{color:var(--purple);font-size:var(--font-small);letter-spacing:2px;text-transform:uppercase;margin:0 0 18px}
.content-intro h1{margin:0 0 24px;font-size:var(--font-hero);line-height:1.08}
.content-intro .intro{max-width:720px}
.content-body{padding:0 var(--gutter) 75px}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.content-card{padding:32px;border:1px solid #e5dbe4;background:#fffaf6;border-radius:24px}
.content-card .icon-circle{margin-bottom:22px}
.content-card h2,.content-note h2{font:400 var(--font-title)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.7px;margin:0 0 16px}
.content-card p,.content-note p{font-size:var(--font-body);color:var(--muted);line-height:1.6;margin:0 0 16px}
.content-note{margin-top:30px;padding:36px;border-radius:24px;background:#f0e5f1}
.content-note .button{margin-top:10px}
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.content-photo{min-height:430px;border-radius:24px;background:url('assets/hero-v2.png') center/cover}
.text-link{display:inline-block;font-size:var(--font-body);color:var(--purple);margin-top:16px}
.contact-address{display:block;color:var(--purple);font-size:var(--font-title);overflow-wrap:anywhere;margin:22px 0}
.contact-list{font-size:var(--font-body);line-height:1.6;color:var(--muted);padding-left:22px;margin-bottom:0}
.contact-list li{margin-bottom:10px}
.site-footer{position:relative;margin-top:55px;padding:48px var(--gutter) 22px;background:linear-gradient(120deg,#f1e7ef,#eee4f0);border-top:1px solid #ded0df}
.footer-top{display:grid;grid-template-columns:1.2fr .8fr 1.15fr;gap:65px;padding-bottom:35px}
.footer-brand .brand{width:max-content}
.footer-brand p,.footer-contact p{font-size:14px;color:var(--muted);line-height:1.65;max-width:330px}
.footer-top h2{font:400 var(--font-title)/1.2 'Playfair Display',Georgia,serif;margin:9px 0 20px}
.footer-links>a{display:block;width:max-content;font-size:var(--font-small);margin:0 0 12px}
.footer-links>a:hover,.footer-bottom a:hover{color:var(--purple)}
.footer-email{display:flex;justify-content:space-between;gap:15px;color:var(--purple);font-size:var(--font-body);padding:6px 0 18px;overflow-wrap:anywhere}
.footer-contact .button{min-height:48px;border:1px solid #a475ad;background:transparent;color:var(--purple);border-radius:var(--button-radius);font-size:var(--font-body)}
.footer-bottom{display:flex;gap:26px;align-items:center;padding-top:22px;border-top:1px solid #d9cadc;font-size:14px;color:var(--muted)}
.footer-bottom>span:nth-child(2){margin-right:auto;color:var(--purple)}
@media(max-width:950px){.footer-top{gap:30px;grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}.footer-contact p{max-width:520px}.footer-email{max-width:330px}.content-intro{padding-top:40px}}
@media(max-width:600px){.content-intro{padding-top:30px}.content-body{padding-bottom:25px}.content-grid,.content-split,.footer-top{grid-template-columns:1fr}.content-card,.content-note{padding:24px}.content-photo{min-height:320px}.footer-contact{grid-column:auto}.site-footer{margin-top:35px;padding-top:32px}.footer-bottom{flex-wrap:wrap;gap:15px}.footer-bottom>span{width:100%}.content-intro h1{letter-spacing:-1.8px}}

/* Zaokrąglona stopka, spójna z kafelkami strony. */
.site-footer{margin:55px var(--gutter) 24px;border:1px solid #ded0df;border-radius:30px;overflow:hidden;padding-inline:clamp(24px,3cqw,46px)}
@media(max-width:600px){.site-footer{margin:35px var(--gutter) 22px;border-radius:23px;padding-inline:24px}}

/* Wybór lokalizacji i zapytanie o inne miasto. */
.city-picker{position:relative;flex-shrink:0}
.city-toggle{border:0;background:transparent;padding:10px 0;color:var(--ink);font-family:inherit;cursor:pointer}
.city-toggle .city-label{font-size:var(--font-body)}
.city-panel{position:absolute;top:calc(100% + 12px);right:0;width:310px;max-width:calc(100vw - 44px);padding:24px;background:var(--paper);border:1px solid #e1d1e3;border-radius:22px;box-shadow:0 15px 45px #40224524;z-index:20}
.city-panel[hidden]{display:none}
.city-panel-title{font:400 var(--font-title)/1.2 'Playfair Display',Georgia,serif;margin:0 0 16px}
.city-options{display:grid;gap:6px;padding-bottom:18px;border-bottom:1px solid #e3d7e3}
.city-options button{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border:0;border-radius:var(--button-radius);background:#efe4f0;color:var(--purple);font:inherit;font-size:var(--font-body);cursor:pointer;text-align:left}
.city-options button:hover,.city-options button[aria-pressed="true"]{background:#e2cfe6}
.city-form{padding-top:18px}
.city-form label{display:block;font-size:var(--font-body);margin-bottom:9px}
.city-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #ccb3d0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:var(--font-body)}
.city-form input:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.city-form p,.city-form small{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.city-form .button{width:100%;min-height:46px;padding:0 12px;border:0;border-radius:var(--button-radius);font-family:inherit;cursor:pointer}
.city-form small{margin-top:10px}
@media(min-width:951px) and (max-width:1350px){.header{flex-wrap:wrap}.header nav{order:3;flex-basis:100%;padding-top:6px}.city-picker{margin-left:auto}.city-toggle{display:flex}}
@media(max-width:950px){.city-toggle{display:flex}.city-picker{margin-left:auto}.menu-toggle{margin-left:0}.header{flex-wrap:wrap}.header nav{top:100%}}
@media(max-width:600px){.city-picker{order:4;flex-basis:100%;margin-left:0}.city-toggle{font-size:var(--font-body);padding:6px 0}.city-panel{right:auto;left:0}.header{row-gap:5px}.city-toggle svg{width:21px;height:23px}}

/* Mobilny nagłówek: menu i lokalizacja przy prawej krawędzi. */
@media(max-width:950px){.header .menu-toggle{margin-left:auto;order:2}.header .city-picker{order:1;margin-left:auto}.header .header-cta{order:3}}
@media(max-width:600px){.header .city-picker{order:4;display:flex;justify-content:flex-end;flex-basis:100%;margin-left:0}.header .city-panel{left:auto;right:0}.header .menu-toggle{padding:8px 0 8px 12px}}
@media(min-width:601px) and (max-width:950px){.header .header-cta{order:2}.header .menu-toggle{order:3;margin-left:0}}

/* Telefon: sygnet, wybór miasta, menu w jednym rzędzie. */
@media(max-width:600px){
 .header{flex-wrap:nowrap;gap:12px}
 .header>.brand{width:52px;flex-shrink:0}
 .header>.brand .brand-art{width:144px;height:62px;aspect-ratio:auto}
 .header>.brand .brand-name{display:none}
 .header .city-picker{order:1;display:block;flex-basis:auto;flex-shrink:1;min-width:0;margin-left:auto}
 .header .city-toggle{gap:8px;white-space:nowrap}
 .header .city-toggle .city-label{font-size:14px}
 .header .city-toggle svg{width:20px;height:22px;flex-shrink:0}
 .header .city-toggle>span:last-child{font-size:12px}
 .header .menu-toggle{order:2;margin-left:0;padding:8px 0 8px 4px;flex-shrink:0}
 .header .city-panel{position:fixed;top:100px;right:22px;left:auto;width:310px;max-width:calc(100vw - 44px)}
}

/* Sygnet bez pustych marginesów grafiki; wspólna oś nagłówka. */
@media(max-width:600px){
 .header{align-items:center;min-height:104px;padding-top:18px;padding-bottom:18px}
 .header>.brand{width:52px;height:60px;align-items:center}
 .header>.brand .brand-art{width:52px;height:60px;background:url('assets/logo.png') -11px -9.5px / 182.4px 77.805px no-repeat;overflow:hidden}
 .header>.brand .brand-art img{display:none}
 .header .city-picker{align-self:center}
 .header .city-toggle{min-height:44px;padding:0;align-items:center}
 .header .menu-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:44px;padding:0;line-height:1}
 .header .city-panel{top:104px}
}

/* Pieczęć ukryta na telefonach. */
@media(max-width:600px){.memory-seal{display:none}}

/* Większe kontrolki mobilnego nagłówka. */
@media(max-width:600px){
 .header{gap:12px}
 .header .city-toggle{gap:9px;min-height:48px}
 .header .city-toggle .city-label{font-size:17px}
 .header .city-toggle svg{width:25px;height:28px}
 .header .city-toggle>span:last-child{font-size:15px}
 .header .menu-toggle{width:38px;height:48px;font-size:30px}
}
@media(max-width:350px){
 .header{gap:8px}
 .header .city-toggle{gap:6px}
 .header .city-toggle .city-label{font-size:16px}
 .header .city-toggle svg{width:23px;height:26px}
 .header .menu-toggle{width:34px;font-size:28px}
}

/* Subtelne oddzielenie nagłówka od treści. */
/* Tła usług: jasne domyślne, pośrednie przy interakcji, ciemne wyróżnienie. */
:root{--service-bg:#fcf9f4;--service-hover-bg:#f2e8f4;--service-featured-bg:linear-gradient(130deg,#854092,#743680)}
.service:not(.custom-offer){background:var(--service-bg);transition:background-color .2s}
.service:not(.custom-offer) .service-icon{background:#efe5ee}
.service:not(.custom-offer):focus-within{background:var(--service-hover-bg)}
.service.custom-offer{background:var(--service-featured-bg)}
@media(hover:hover){.service:not(.custom-offer):hover{background:var(--service-hover-bg)}}
@media(prefers-reduced-motion:reduce){.service:not(.custom-offer){transition:none}}

/* Stopka na telefonie zajmuje pełną szerokość strony. */
@media(max-width:600px){.site-footer{margin:35px 0 0;border:0;border-radius:0;padding-inline:var(--gutter)}.offer-page{padding-bottom:0}}

/* Cały kafelek usługi jest odnośnikiem. */
a.service{display:block;cursor:pointer}
a.service:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
a.service.custom-offer:focus-visible{outline-color:#d7b8db}

/* Sygnet mobilnego nagłówka mniejszy o 15%. */
@media(max-width:600px){.header>.brand .brand-art{transform:scale(.85);transform-origin:center}}

/* Dotykowe podświetlenie usług na telefonach. */
@media(hover:none){
 a.service:not(.custom-offer):active,
 a.service:not(.custom-offer).is-touch-active{background:var(--service-hover-bg);transition:none}
}

/* Podświetlenie wyróżnionego kafelka bez zmiany kontrastu tekstu. */
a.service.custom-offer{transition:filter .2s}
a.service.custom-offer:focus-visible{filter:brightness(1.12)}
@media(hover:hover){a.service.custom-offer:hover{filter:brightness(1.12)}}
@media(hover:none){a.service.custom-offer:active,a.service.custom-offer.is-touch-active{filter:brightness(1.12);transition:none}}
@media(prefers-reduced-motion:reduce){a.service.custom-offer{transition:none}}

/* Wspólny pośredni kolor podświetlenia także dla oferty indywidualnej. */
a.service.custom-offer{transition:background-color .2s,color .2s}
a.service.custom-offer:is(:focus-visible,:focus-within){background:var(--service-hover-bg);color:var(--ink);filter:none}
a.service.custom-offer:is(:focus-visible,:focus-within) p{color:var(--muted)}
a.service.custom-offer:is(:focus-visible,:focus-within) .service-icon,
a.service.custom-offer:is(:focus-visible,:focus-within) .card-arrow{color:var(--purple);border-color:#ddc2e0}
@media(hover:hover){
 a.service.custom-offer:hover{background:var(--service-hover-bg);color:var(--ink);filter:none}
 a.service.custom-offer:hover p{color:var(--muted)}
 a.service.custom-offer:hover .service-icon,a.service.custom-offer:hover .card-arrow{color:var(--purple);border-color:#ddc2e0}
}
@media(hover:none){
 a.service.custom-offer:is(:active,.is-touch-active){background:var(--service-hover-bg);color:var(--ink);filter:none;transition:none}
 a.service.custom-offer:is(:active,.is-touch-active) p{color:var(--muted)}
 a.service.custom-offer:is(:active,.is-touch-active) .service-icon,a.service.custom-offer:is(:active,.is-touch-active) .card-arrow{color:var(--purple);border-color:#ddc2e0}
}

/* Cztery kroki opieki w jednym rzędzie na dużych ekranach. */
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps-grid .content-card{padding:26px}
@media(min-width:601px) and (max-width:950px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.steps-grid{grid-template-columns:1fr}.steps-grid .content-card{padding:24px}}

/* Opisy i podteksty mają wspólny rozmiar na desktopie i telefonie. */
.benefit p,.service p,.content-card p,.content-note p,.footer-brand p,.footer-contact p,.city-form p,.city-form small{font-size:14px}

/* Przełącznik języka w menu i stopce. */
.language-switch{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:14px;letter-spacing:0}
.language-switch a{display:block;padding:6px 7px;border-radius:7px;color:var(--muted)}
.language-switch a[aria-current="true"]{background:#eadcec;color:var(--purple)}
.language-switch a:hover{color:var(--purple);background:#f2e8f4}
.header nav{align-items:center}
.footer-bottom .language-switch{margin-left:auto}
@media(max-width:950px){.header nav{align-items:flex-start}.header nav .language-switch{padding-top:10px;border-top:1px solid #dfd0e1}}
@media(min-width:951px){.header nav{gap:clamp(12px,1.5cqw,24px)}}
html[lang="uk"] .hero h1 em,html[lang="en"] .hero h1 em{white-space:normal}
@media(min-width:951px){html[lang="uk"] .hero h1,html[lang="en"] .hero h1{font-size:calc(var(--font-hero) * .85)}}

/* Rozwijany wybór języka. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-select select{max-width:145px;min-height:40px;border:1px solid #e1d1e3;border-radius:var(--button-radius);padding:7px 10px;background:#f0e5f1;color:var(--purple);font-family:inherit;font-size:14px;cursor:pointer}
.language-select select:focus-visible{outline:2px solid var(--purple);outline-offset:3px}

/* Odstęp poniżej stopki, poza jej tłem. */
.site-footer{margin-bottom:60px}

/* Ustawienia strony obok miasta; język mobilny wewnątrz menu. */
.header>.language-desktop{display:flex}
.header nav .language-mobile{display:none}
@media(max-width:950px){.header>.language-desktop{display:none}.header nav .language-mobile{display:flex}}

/* Wspólne zaokrąglenie przycisków nagłówka i hero. */
:root{--button-radius:14px}
.header-cta,.hero-actions .button{border-radius:var(--button-radius)}

/* Drobne flagi SVG i spójny wybór języka. */
.language-dropdown{position:relative;display:block;font-size:14px}
.language-dropdown summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:9px 11px;border:1px solid #e1d1e3;border-radius:var(--button-radius);background:#f0e5f1;color:var(--purple);cursor:pointer;list-style:none}
.language-dropdown summary::-webkit-details-marker{display:none}
.language-dropdown img{display:block;width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #24162d18;flex-shrink:0}
.language-chevron{width:12px;height:8px;stroke-width:1.5;transition:transform .15s}
.language-dropdown[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;z-index:30;right:0;top:calc(100% + 8px);min-width:116px;padding:6px;background:var(--paper);border:1px solid #e1d1e3;border-radius:12px;box-shadow:0 10px 25px #40224518}
.language-options a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;white-space:nowrap}
.language-dropdown summary:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.footer-bottom .language-options{top:auto;bottom:calc(100% + 8px)}
@media(max-width:950px){.header nav .language-mobile{display:block;padding-top:10px}}

/* Trzy elementy strony opinii w jednym rzędzie. */
.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}}

/* Formularz kontaktowy. */
.contact-form-section{margin-top:28px;scroll-margin-top:24px}
.contact-form{margin-top:24px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.contact-form label{display:block;font-size:var(--font-body);line-height:1.4}
.contact-form input:not([type="hidden"]),.contact-form textarea{display:block;width:100%;margin-top:9px;padding:13px 15px;min-height:48px;border:1px solid #ccb3d0;border-radius:12px;background:#fffdfb;color:var(--ink);font:inherit;font-size:var(--font-body)}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.contact-form textarea::placeholder{color:var(--muted);font-size:14px}
.contact-form .button{border:0;border-radius:var(--button-radius);font-family:inherit;cursor:pointer}
.contact-form .button:disabled{opacity:.65;cursor:wait}
.contact-form p.contact-form-note{font-size:14px;margin:16px 0 22px}
.contact-form-status{margin:18px 0 0!important;padding:14px 18px;border-radius:12px;background:#f0e5f1;color:var(--purple)!important;font-size:14px!important}
.contact-form-status[data-error="true"]{background:#fbe9e9;color:#8c3030!important}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.contact-form-grid{grid-template-columns:1fr;gap:18px}.contact-form .button{width:100%}}

/* Usługi w jednym rzędzie na desktopie. */
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.services-grid .content-card{padding:26px}
@media(min-width:601px) and (max-width:950px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr}.services-grid .content-card{padding:24px}}

/* Odstęp pod nagłówkiem bez linii oddzielającej. */
.header{margin-bottom:20px}

.contact-form select{display:block;width:100%;margin-top:9px;padding:13px 15px;min-height:48px;border:1px solid #ccb3d0;border-radius:12px;background:#fffdfb;color:var(--ink);font:inherit;font-size:var(--font-body)}
.contact-form select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}

/* Dokumenty i informacje przy formularzach. */
.legal-draft{padding:18px 22px;background:#f0e5f1;border-radius:14px;font-size:14px;line-height:1.6;color:var(--muted)}
.legal-body{max-width:1100px}.legal-body section{margin-bottom:30px}.legal-body h2{font:400 var(--font-title)/1.3 'Playfair Display',Georgia,serif}.legal-body p{font-size:14px;line-height:1.8;color:var(--muted)}
.form-legal{margin:20px 0}.form-legal p{font-size:14px!important;line-height:1.6}.contact-form .legal-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;margin:16px 0;line-height:1.5}
.contact-form .legal-check input[type="checkbox"]{width:19px;height:19px;min-height:0;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:var(--purple)}
.form-legal a{text-decoration:underline;color:var(--purple);text-underline-offset:3px}.footer-legal{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;border-top:1px solid #d9cadc;font-size:14px;color:var(--muted)}

/* Dokumenty: tekst po lewej, spis treści po prawej. */
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:55px;align-items:start}
.legal-layout .legal-body{max-width:none;min-width:0}
.legal-layout .legal-body section{scroll-margin-top:30px}
.legal-toc{position:sticky;top:25px;padding:24px;border:1px solid #e1d1e3;border-radius:20px;background:#f2e8f4}
.legal-toc h2{font:400 var(--font-title)/1.2 'Playfair Display',Georgia,serif;margin:0 0 16px}
.legal-toc a{display:block;padding:9px 0;font-size:14px;line-height:1.5;color:var(--muted)}
.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){.legal-layout{grid-template-columns:minmax(0,1fr) 240px;gap:25px}.legal-toc{padding:20px}}
@media(max-width:600px){.legal-layout{grid-template-columns:1fr;gap:25px}.legal-toc{position:static;grid-row:1}.legal-layout .legal-body{grid-row:2}}

/* Sticky działa względem okna, bez blokowania przez kontener strony. */
.legal-page{overflow:visible}
@media(min-width:601px){.legal-toc{position:sticky;top:24px;align-self:start;z-index:10;max-height:calc(100dvh - 48px);overflow-y:auto}}

.order-extras{border:0;padding:0;margin:0 0 26px}
.order-extras legend{font:400 var(--font-title)/1.2 'Playfair Display',Georgia,serif;margin-bottom:10px}
.order-extras p,.order-summary p{font-size:14px;color:var(--muted);line-height:1.5}
.order-extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contact-form .order-extra{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid #e1d1e3;border-radius:14px;background:#fcf9f4;font-size:14px;cursor:pointer}
.contact-form .order-extra input{width:19px;height:19px;min-height:0;margin:1px 0 0;padding:0;flex-shrink:0;accent-color:var(--purple)}
.order-extra strong{display:block;color:var(--purple);font-weight:500;margin-top:6px}
.order-extra:has(input:checked){background:#f2e8f4;border-color:var(--purple)}
.order-summary{background:#f2e8f4;padding:24px;border-radius:18px;margin-bottom:28px}
.order-summary>div,.order-summary li{display:flex;justify-content:space-between;gap:18px;font-size:14px;margin:12px 0}
.order-summary ul{padding:0;list-style:none}.order-summary h2{margin-top:0}
.order-summary .order-total{border-top:1px solid #d8c3de;padding-top:16px;font-size:var(--font-title);color:var(--purple)}
@media(max-width:950px){.order-extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.order-extras-grid{grid-template-columns:1fr}.order-summary{padding:20px}.order-summary .order-total{flex-wrap:wrap}}

.order-package-choice{margin-bottom:26px}

/* Wspólne zaokrąglenie wszystkich przycisków akcji. */
.button,.header-cta,.hero-actions .button,.package .button,.footer-contact .button,.city-form .button,.contact-form .button{border-radius:var(--button-radius)}

/* Dedykowana struktura strony kontaktowej. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:start}
.contact-layout .contact-main-form{margin-top:0;padding:36px}
.contact-sidebar{display:grid;gap:26px}
.contact-info-block{padding:12px 8px}
.contact-info-block .icon-circle{margin-bottom:22px}
.contact-sidebar h2{font:400 var(--font-title)/1.25 'Playfair Display',Georgia,serif;margin:0 0 14px;letter-spacing:-.7px}
.contact-sidebar p,.contact-sidebar li{font-size:14px;line-height:1.65;color:var(--muted)}
.contact-sidebar ul{padding-left:20px;margin:0 0 26px}.contact-sidebar li{margin-bottom:10px}
.contact-email{display:inline-block;font-size:var(--font-body);color:var(--purple);overflow-wrap:anywhere}
.contact-order-note{background:#f2e8f4;border-radius:20px;padding:26px}
.contact-order-note .button{margin-top:10px;font-size:var(--font-body);padding-inline:20px;min-height:48px}
@media(max-width:950px){.contact-layout{grid-template-columns:1fr;gap:28px}.contact-sidebar{grid-template-columns:1fr 1fr}.contact-order-note{grid-column:1/-1}}
@media(max-width:600px){.contact-layout .contact-main-form{padding:24px}.contact-sidebar{grid-template-columns:1fr}.contact-order-note{grid-column:auto}.contact-info-block{padding-inline:0}}
