*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f0e6;color:#304738;font:16px/1.65 "DM Sans",sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:1180px;margin:auto;padding:0 28px}.section{padding:105px 0}.eyebrow,.overline{font-size:11px;letter-spacing:.24em;font-weight:700;text-transform:uppercase}.eyebrow{color:#9b825c}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",serif;font-weight:400;line-height:1.17}h2{font-size:clamp(40px,5vw,65px);letter-spacing:-.035em}h2 em,h1 em{font-weight:400}p{color:#647164}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;z-index:20}.header{position:absolute;z-index:5;width:100%;color:white;border-bottom:1px solid #ffffff4a}.nav-wrap{max-width:1400px;margin:auto;padding:23px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-size:21px;font-weight:600;letter-spacing:.16em;white-space:nowrap}.logo span:last-child{font-weight:400}.logo-leaf{font-size:20px;color:#c6cba9;margin-right:8px}.header nav{display:flex;gap:28px;align-items:center}.header nav a{font-size:12px;letter-spacing:.04em}.header nav a:hover{color:#d9ddc0}.hamb{display:none;background:none;border:0;color:white;font-size:26px}.hero{position:relative;min-height:770px;height:95vh;max-height:1000px;background:#233a2c;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(16,36,26,.85) 0%,rgba(19,41,28,.67) 48%,rgba(19,41,28,.2) 100%)}.hero-copy{position:relative;z-index:1;max-width:1160px;width:100%;margin:70px auto 0;padding:0 28px;color:#fff}.hero-copy .overline{color:#d9dfc6}.hero h1{font-size:clamp(58px,7.5vw,105px);letter-spacing:-.05em;margin:22px 0 26px}.hero h1 em{color:#e5dec9}.hero p{color:#f2f0e9;font-size:18px;max-width:530px;line-height:1.8}.hero-buttons{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 23px;border-radius:2px;font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn-light{background:#f5f0e6;color:#304738}.btn-outline{border:1px solid #ffffff99;color:white}.btn-green{background:#304738;color:white}.hero-scroll{position:absolute;bottom:35px;left:max(28px,calc((100vw - 1160px)/2));font-size:10px;color:#fff;letter-spacing:.25em}.intro{background:#f5f0e6}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.intro h2{margin-top:24px}.intro .lead{font-family:"Playfair Display",serif;font-size:25px;line-height:1.5;color:#304738}.intro p{font-size:16px}.text-link{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-bottom:1px solid #a5a88e;padding-bottom:8px;display:inline-block;margin-top:15px}.offerings{background:#e9e9dc}.section-heading{max-width:790px;margin-bottom:48px}.section-heading h2{margin:18px 0}.section-heading p{max-width:640px}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bfc9b7}.service{position:relative;padding:29px 35px 27px 60px;border-bottom:1px solid #bfc9b7}.service:nth-child(odd){border-right:1px solid #bfc9b7}.service-no{position:absolute;left:10px;top:32px;color:#8d9c87;font-size:12px}.service h3{font-size:26px;margin-bottom:9px}.service p{font-size:14px;margin:0}.offer-footer{display:flex;align-items:center;gap:25px;margin-top:35px;flex-wrap:wrap}.offer-footer p{font-size:13px;margin:0}.quote{padding:110px 0;background:#304738;text-align:center}.quote .eyebrow{color:#d2d3b5}.quote p{font:italic clamp(28px,4vw,48px)/1.4 "Playfair Display",serif;color:#f5f0e6;max-width:900px;margin:20px auto 0}.people-section{background:#f5f0e6}.people{display:grid;gap:25px}.owners{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:auto}.team{grid-template-columns:repeat(3,minmax(0,1fr))}.person{background:#fffdf8;min-width:0}.person img{width:100%;height:400px;object-fit:cover;object-position:center 28%}.owners .person img{height:520px}.person-info{padding:22px 22px 25px}.person h3{font-size:25px;margin:0 0 5px}.person span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9c8b72}.person p{font-size:14px;margin:10px 0 0}.team-section{background:#e9e9dc}.gallery-section{background:#f5f0e6}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}.gallery img{height:350px;width:100%;object-fit:cover}.gallery-note{font-size:12px;margin-top:20px}.contact{background:#d9dfce}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid h2{margin:18px 0 25px}.contact-card{background:#f5f0e6;padding:45px}.contact-card h3{font-size:38px;margin:18px 0}.contact-todo{margin-top:28px;padding-top:20px;border-top:1px solid #d7d9cd;font-size:13px;color:#7c7769}footer{background:#253b2e;color:#f5f0e6;padding:45px 0}.foot{display:flex;justify-content:space-between;gap:30px}.footer-logo{font-size:22px;letter-spacing:.16em;font-weight:700}.footer-logo span{font-weight:400}footer p{color:#c1cbbb;font-size:12px;margin:10px 0 0}footer a{font-size:13px}@media(max-width:900px){.header nav{gap:14px}.nav-wrap{padding:20px 24px}.intro-grid,.contact-grid{gap:35px}.team{grid-template-columns:repeat(2,minmax(0,1fr))}.person img{height:370px}.owners .person img{height:430px}}@media(max-width:650px){.section{padding:75px 0}.hamb{display:block}.header nav{display:none;position:absolute;left:0;right:0;top:72px;background:#304738;padding:25px;flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.nav-wrap{padding:18px 24px}.hero{height:760px;min-height:650px}.hero h1{font-size:56px}.hero p{font-size:16px}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:15px}.services{grid-template-columns:1fr}.service:nth-child(odd){border-right:0}.service{padding-left:45px}.service-no{left:5px}.owners,.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person img,.owners .person img{height:260px}.person-info{padding:15px}.person h3{font-size:19px}.person p{font-size:12px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:200px}.gallery img:first-child{grid-column:1/-1;height:260px}.contact-card{padding:28px}.foot{flex-direction:column}.hero-scroll{display:none}}@media(max-width:380px){.owners,.team{grid-template-columns:1fr}.person img,.owners .person img{height:400px}}
/* Forest SPA — aktualizacja */
.logo img{width:165px;height:auto;display:block}.header{background:linear-gradient(180deg,rgba(26,50,37,.85),rgba(26,50,37,.18))}.nav-booksy{border:1px solid #e8e2ce;padding:9px 13px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery a{display:block;overflow:hidden}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.gallery a img{width:100%;height:260px;object-fit:cover;transition:transform .25s}.gallery a:first-child img{height:534px}.gallery a:hover img{transform:scale(1.035)}.contact-card h4{font:500 23px "Playfair Display",serif;margin:24px 0 12px}.hours{margin:0 0 15px}.hours div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d7d9cd;padding:8px 0;font-size:14px}.hours dd{margin:0;text-align:right}.contact-card .btn{margin-top:8px}.contact-card a:not(.btn):hover,.gallery-note a:hover{text-decoration:underline}@media(max-width:900px){.header nav{gap:10px}.header nav a{font-size:11px}.logo img{width:130px}}@media(max-width:650px){.logo img{width:135px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery a:first-child{grid-column:span 2;grid-row:auto}.gallery a:first-child img{height:260px}.gallery a img{height:185px}.hero-photo{object-position:center}.header nav{background:#304738}}

/* Original Forest SPA logo in footer */
.footer-logo img {display:block;width:190px;max-width:100%;height:auto;object-fit:contain;}
@media(max-width:600px){.footer-logo img{width:165px;}}

/* Separate elegant forest-green header and footer */
.header{position:relative;background:#102b20;border:0;color:#f5efe2;box-shadow:0 4px 15px #102b2020}
.nav-wrap{max-width:1480px;padding:14px 32px;gap:18px}.logo img{width:178px;height:auto;max-height:75px;object-fit:contain}.header nav{gap:clamp(10px,1.7vw,27px)}.header nav a{font-size:13px;letter-spacing:0}.header nav .nav-booksy{background:#dfb477;color:#1e3026;border-radius:40px;padding:13px 20px;font-weight:700;white-space:nowrap}.header nav .nav-social{font-size:12px;color:#e5d8be}.hero{height:clamp(520px,74vh,850px);min-height:520px}.hero-copy{margin-top:0}.hero-shade{background:linear-gradient(90deg,rgba(16,36,26,.68),rgba(19,41,28,.28) 60%,transparent)}
footer{background:#102b20;color:#f4e9d8;padding:62px 0 0;position:relative}footer p{color:#f4e9d8}footer .foot-redesign{display:grid;grid-template-columns:1.1fr 1.25fr 1.2fr 1fr;gap:34px;align-items:start}.foot-col{min-width:0}.foot-col:not(:first-child){border-left:1px solid #d4b7804d;padding-left:27px}.foot-col h3{font:500 23px/1.2 'Playfair Display',serif;color:#e5b979;margin-bottom:20px}.foot-col p{font-size:13px;line-height:1.8;margin:0 0 11px}.footer-brand-logo{width:215px;max-width:100%;height:auto;margin-bottom:20px}.foot-col a:hover{text-decoration:underline;color:#e5b979}.footer-bottom{border-top:1px solid #ffffff1f;text-align:center;margin-top:52px;padding:18px;color:#e3d5be;font-size:12px}
@media(max-width:1000px){footer .foot-redesign{grid-template-columns:repeat(2,minmax(0,1fr))}.header nav{gap:12px}.header nav a{font-size:11px}.logo img{width:145px}}
@media(max-width:760px){.header{position:relative}.nav-wrap{padding:12px 20px}.logo img{width:160px}.header nav{background:#102b20}.hero{min-height:540px;height:75vh}.hero-copy{padding:0 25px}footer .foot-redesign{grid-template-columns:1fr;gap:24px}.foot-col:not(:first-child){border-left:0;border-top:1px solid #d4b7804d;padding:20px 0 0}.footer-brand-logo{width:195px}}

/* Zbiorcze poprawki październik 2026 */
.hero-scroll{display:none!important}
.contact{background:#dce2d2;padding:clamp(75px,11vw,155px) 20px}
.contact-centered{max-width:940px;margin:0 auto;text-align:center}
.contact-centered h2{color:#2b4939;font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,85px);line-height:1.16;margin:0 0 28px}
.contact-centered p{max-width:740px;margin:0 auto;color:#536c5d;font-size:clamp(17px,2vw,22px);line-height:1.75}
footer .foot-col.contact{background:transparent!important;box-shadow:none!important;color:#f4e9d8!important;padding-top:0}
footer .foot-col.contact h3{color:#e5b979!important}
.footer-contact-line{display:flex;gap:13px;align-items:flex-start;margin:0 0 19px;color:#f4e9d8;font-size:14px;line-height:1.75}
.footer-contact-icon{color:#e5b979;font-size:21px;line-height:1.2;flex:0 0 24px}
.footer-contact-line a{color:#f4e9d8}
.footer-map-link{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){footer .foot-col.contact{padding-top:20px}.contact{padding:70px 20px}}

/* Kadrowanie pionowego zdjęcia na banerze */
.hero-photo{object-position: center 25%;}
@media(max-width:700px){.hero-photo{object-position:55% 30%;}}

/* Wariant hero: rytuał z maską */
.hero-photo{object-position: center 31%;}
@media(max-width:700px){.hero-photo{object-position:53% 30%;}}

/* Kadrowanie: twarz i usta widoczne w banerze */
.hero-photo{object-position: center 9%;}
@media(max-width:700px){.hero-photo{object-position:53% 8%;}}
