/* Zmienia tylko dotychczasowe zielone powierzchnie na turkusowe. */
:root{--forest:#159caf;--forest-2:#087b91;--sage:#67cbd3}
.hero-shade{background:linear-gradient(90deg,rgba(8,123,145,.82) 0%,rgba(8,123,145,.3) 62%,rgba(8,123,145,.1)),linear-gradient(0deg,rgba(7,93,112,.58),transparent 45%)}
.hero-facts{background:rgba(8,123,145,.88)}
.button-dark{background:rgba(8,123,145,.78)}
[data-payment-link]{position:relative;justify-content:center;text-align:center;padding-left:3.2rem;padding-right:3.2rem}
[data-payment-link]>span{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}
.gallery-card:after,.portrait:after,.place-image:after,.photo-tile:after{background:linear-gradient(0deg,rgba(8,123,145,.55),transparent 55%)}
.gallery-card i,.lightbox-close{background:rgba(8,123,145,.78)}
.place-card{background:rgba(8,123,145,.95)}
.final-shade{background:rgba(8,123,145,.54)}
footer,.lightbox{background:#087b91}
.contact{background:#087b91}

/* Spójna typografia nagłówków */
.hero h1,.section h2,.final-cta h2{font-size:clamp(2.45rem,4.35vw,4.55rem);line-height:1.01;letter-spacing:-.035em}
.hero h1 em,.section h2 em,.final-cta h2 em,
.hero h1 i,.section h2 i,.final-cta h2 i{font-family:inherit!important;font-size:inherit!important;font-style:normal!important;font-weight:inherit!important;letter-spacing:inherit!important}
.hero h1{font-size:clamp(3rem,6vw,5.7rem)}
.map-heading h2{max-width:900px;font-size:clamp(2.15rem,3.75vw,4rem)}
.brand-3d{display:flex;align-items:center;gap:.6rem;height:78px;white-space:nowrap}
.brand-symbol{display:block;width:66px;height:74px;overflow:hidden;filter:drop-shadow(0 2px 0 rgba(96,230,229,.7)) drop-shadow(0 4px 3px rgba(68,203,207,.28));transform:translateZ(0)}
.brand-word{display:inline-block;font:600 clamp(2rem,2.45vw,2.75rem)/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;color:#fff;text-shadow:none;filter:none;background:linear-gradient(180deg,#fff 0%,#fff 58%,#d9f7f7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:0 .04em .16em;overflow:visible}
.footer-brand .brand-3d{height:58px}.footer-brand .brand-symbol{width:48px;height:54px}.footer-brand .brand-word{font-size:1.75rem}
@media(max-width:900px){.brand-3d{height:66px;gap:.4rem}.brand-symbol{width:52px;height:60px}.brand-word{font-size:1.8rem}.footer-brand .brand-word{font-size:1.55rem}}
@media(max-width:430px){.brand-symbol{width:45px;height:54px}.brand-word{font-size:1.55rem}}
.counter{display:inline-block;min-width:2.2ch;transform-origin:center;will-change:transform,opacity}
.counter.is-counting{animation:counterPulse .55s ease-in-out infinite alternate}
@keyframes counterPulse{from{transform:translateY(3px) scale(.96);opacity:.72}to{transform:translateY(-2px) scale(1.04);opacity:1}}
@media(prefers-reduced-motion:reduce){.counter.is-counting{animation:none}}
.day.open .day-body{max-height:420px}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden}
.lightbox::backdrop{background:#000;backdrop-filter:none}
.lightbox img{width:100vw;height:100vh;object-fit:cover;display:block}
.lightbox p{display:none}
.lightbox-close{display:grid;place-items:center;position:fixed;z-index:20;right:clamp(1rem,2.5vw,2rem);top:clamp(1rem,2.5vw,2rem);width:52px;height:52px;padding:0;border:0;background:rgba(0,0,0,.32);color:#fff;border-radius:0;font:300 2.4rem/1 Arial,sans-serif;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.85)}
.lightbox-close:hover{background:rgba(0,0,0,.58)}
.photo-grid{grid-auto-flow:dense;gap:0;background:#087b91}
.photo-tile{display:block;width:100%;height:100%;min-height:0;background:#087b91}
.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.price-row{display:flex;align-items:center;justify-content:center;gap:clamp(.55rem,1.4vw,1.2rem);margin:.4rem 0;max-width:100%}
.price-row del{position:relative;color:#a9b9b6;font:500 clamp(1rem,1.55vw,1.35rem) var(--display);text-decoration:none;white-space:nowrap}
.price-row del:after{content:"";position:absolute;left:-7%;right:-7%;top:50%;height:2px;background:var(--sand);transform:rotate(-12deg);transform-origin:center}
.price-row strong{margin:0;color:#fff;font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.05;white-space:nowrap}

/* Bardziej zwarty rytm sekcji programu, kontaktu i końcowego CTA */
.program.section{padding-top:clamp(3.75rem,6vw,6rem);padding-bottom:clamp(3.75rem,6vw,6rem)}
.program>.shell>.eyebrow{margin-bottom:1.15rem}
.program-title{margin-bottom:2.5rem}
.contact.section{padding-top:clamp(3.75rem,6vw,6rem);padding-bottom:clamp(3.75rem,6vw,6rem)}
.contact-copy .eyebrow{margin-bottom:1.15rem}
.contact-copy>p:not(.eyebrow){margin-top:1.25rem;margin-bottom:.8rem}
.final-cta{height:clamp(500px,62vw,610px)}
.final-content .eyebrow{margin-bottom:1.15rem}
.final-content>p:not(.eyebrow){margin:1.15rem 0}
.price-promo{margin:1rem 0 0!important;color:var(--sand);font:700 .66rem/1.45 var(--sans)!important;letter-spacing:.11em}
.price-exclusions{margin:1rem 0 0!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);color:#c8d8d7;font:400 .64rem/1.6 var(--sans)!important;letter-spacing:.015em;text-align:left}
.benefit-grid .icon{font-size:clamp(3.4rem,5vw,4.8rem);height:135px;line-height:1}
.benefit-grid .icon-owl svg{width:82px;height:82px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.benefit-grid .icon-owl .owl-cheek{stroke-width:2.2}
.place-card{left:clamp(1.25rem,6vw,6.5rem);right:auto;top:46%;width:min(520px,43vw);padding:3.6rem}
.place-card .amenities{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.place-card .amenities span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.place-card{left:1.25rem;right:1.25rem;top:47%;width:auto;padding:2.3rem}}
footer>div:nth-of-type(2){flex-wrap:wrap;row-gap:.65rem}
.section h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.02}
.place-card h2{font-size:clamp(2.6rem,4vw,4.4rem);line-height:.96}
@media(max-width:560px){.section h2{font-size:clamp(2.15rem,10vw,3rem)}.place-card h2{font-size:clamp(2.5rem,12vw,3.4rem)}}
.offer{position:relative}
.offer::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:rgba(23,53,47,.24);transform:translateX(-50%)}
.faq{position:relative;border-top:0}
.faq::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:rgba(23,53,47,.24);transform:translateX(-50%)}
.island-map{position:relative}
.island-map::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:rgba(23,53,47,.24);transform:translateX(-50%)}
.benefits{position:relative}
.benefits::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:rgba(23,53,47,.24);transform:translateX(-50%)}

/* Spójny rytm sekcji i pełna responsywność */
.section{padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}
.intro,.for-whom,.offer,.contact-grid{align-items:stretch}
.intro>*,.for-whom>*,.offer>*,.contact-grid>*{min-width:0}
.benefit-grid{align-items:stretch}.benefit-grid article{height:100%;min-height:330px}
.offer-copy,.price-card{height:100%}.offer-copy{display:flex;flex-direction:column;justify-content:center}.price-card{display:flex;flex-direction:column;justify-content:center}
.contact-copy,.contact-form{height:100%}
.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(190px,18vw,250px)}
.day button strong{overflow-wrap:anywhere}.day-body>*{min-width:0}
.day button small{width:190px;font-size:.74rem;line-height:1.35;font-weight:700;letter-spacing:.13em}
footer{column-gap:2rem}footer>div:nth-of-type(2){align-items:center}

@media(max-width:1200px){
  .shell{width:min(1080px,calc(100% - 3rem))}
  .desktop-nav{gap:1.35rem;font-size:.7rem}
  .brand-word{font-size:clamp(1.8rem,2.2vw,2.35rem)}
  .benefit-grid article{padding-inline:1.35rem}
}
@media(max-width:900px){
  .section{padding-top:clamp(4.5rem,10vw,6.5rem);padding-bottom:clamp(4.5rem,10vw,6.5rem)}
  .intro,.for-whom,.offer,.faq,.contact-grid{gap:3.5rem}
  .benefit-grid article{min-height:290px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}
  .place{min-height:760px;height:auto}.place-image{min-height:760px}
  .place-card{max-height:calc(100% - 3rem);overflow:auto}
  .day-body{gap:1.25rem}
  .day button small{width:auto;font-size:.7rem;margin-bottom:.38rem}
  footer{grid-template-columns:1fr 1fr;align-items:start}footer>div:nth-of-type(2){justify-content:flex-start}
}
@media(max-width:680px){
  .shell{width:calc(100% - 2rem)}
  .site-header{padding-inline:1rem}
  .hero{min-height:700px;height:100svh}.hero-content{top:43%}
  .hero-facts{display:grid;grid-template-columns:repeat(3,1fr)}.hero-facts div{padding:.85rem .65rem}.hero-facts strong{font-size:.68rem}
  .benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:250px;border-right:0}.benefit-grid .icon{height:105px}
  .photo-grid{grid-template-columns:1fr;grid-auto-rows:min(72vw,340px)}.photo-tile.wide,.photo-tile.tall{grid-column:auto;grid-row:auto}
  .day button{grid-template-columns:48px 1fr 28px;padding:1.2rem 0}.day button>span:nth-child(2){padding-right:.5rem}.day button small{font-size:.67rem;line-height:1.4}.day button strong{font-size:1rem}
  .day-body,.day.open .day-body{grid-template-columns:1fr;padding-left:48px;padding-right:0}.day.open .day-body{max-height:650px}
  .portrait{height:min(120vw,620px)}
  .price-card{padding:2.2rem 1.4rem}.price-row{gap:.65rem;flex-wrap:wrap}.price-row del{font-size:.95rem}.price-row strong{font-size:clamp(1.2rem,6vw,1.65rem)}
  .contact-form{padding:1.35rem}
  footer{grid-template-columns:1fr;gap:1.4rem}footer>small{grid-column:1}footer>div:nth-of-type(2){display:flex;flex-wrap:wrap;gap:.8rem 1.2rem}
}
@media(max-width:430px){
  .hero h1{font-size:clamp(2.8rem,14vw,3.7rem)}.hero-lead{margin-block:1.25rem}
  .hero-facts small{letter-spacing:.1em}.hero-facts strong{font-size:.62rem}
  .brand-word{font-size:1.4rem}.brand-symbol{width:42px}
  .section h2{font-size:clamp(2rem,10vw,2.65rem)}
  .place-card{padding:1.6rem}.amenities{grid-template-columns:1fr}
  .mobile-cta{gap:.7rem}.mobile-cta .button{font-size:.62rem;padding-inline:.8rem}
}
