@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/laguna-font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/laguna-font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/laguna-font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/laguna-font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/laguna-font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/laguna-font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/laguna-font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/laguna-font-8.ttf) format('truetype');
}

:root{--green:#173c32;--ink:#183a30;--paper:#f7f7f2;--muted:#57665d;--line:#d5dbd1;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #c68f39;outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:99;background:white;padding:10px}.skip:focus{top:10px}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;transition:box-shadow .3s}.header.scrolled{box-shadow:0 1px 15px #12332410}.brand{font:48px/.9 var(--serif);letter-spacing:-2px}.brand span{display:block;font:9px/1 var(--sans);letter-spacing:2.5px;margin-top:12px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{transition:opacity .2s}nav a:hover{opacity:.65}.nav-cta{border:1px solid var(--green);padding:12px 20px;margin-left:12px;display:flex;gap:35px}.menu-toggle{display:none}.hero{position:relative;min-height:660px;height:calc(100svh - 100px);max-height:900px;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#091f1edb 0%,#122a266b 55%,#10262115),linear-gradient(0deg,#0b252984,transparent 35%)}.hero-content{position:relative;padding:85px 8% 110px;max-width:1050px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;line-height:1.6;margin:0 0 24px}.eyebrow.light{color:#edf0df}.hero h1{font:clamp(58px,6.2vw,94px)/1.1 var(--serif);letter-spacing:-2px;margin:24px 0}.hero h1 em{color:#e7e9ca;font-weight:400}h2{font:clamp(38px,3.5vw,55px)/1.2 var(--serif);letter-spacing:-1.4px;margin:0 0 28px}h2 em{font-weight:400}h3{font-family:var(--serif);font-weight:400}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#f1f1e9}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 25px;font-size:14px;font-weight:500;min-height:54px;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button span{font-size:20px}.cream{background:#eef0dc;color:#17382f}.cream:hover{background:#fff}.green{background:var(--green);color:white}.green:hover{background:#2b5444}.hero-link{font-size:14px;border-bottom:1px solid #ffffff65;padding-bottom:6px}.hero-bottom{position:absolute;bottom:29px;left:8%;right:5%;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;letter-spacing:2px}.image-note{font-size:10px;letter-spacing:.2px;color:#e2e5df}.section{max-width:1440px;padding:100px 8%;margin:auto}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;padding-bottom:65px}.intro-text{padding-top:25px;color:var(--muted)}p{margin-top:0}.intro-text p+p{margin-bottom:0}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:0;padding-bottom:105px}.offer{position:relative;height:420px;overflow:hidden;color:white}.offer img{transition:transform .8s}.offer:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061c19e8,transparent 80%)}.offer:hover img{transform:scale(1.055)}.offer>div{position:absolute;bottom:28px;left:26px;right:26px;z-index:1}.offer h3{font-size:29px;line-height:1.2;margin:15px 0}.offer p{font-size:14px;max-width:85%;line-height:1.5;margin:0}.offer .eyebrow{font-size:10px;letter-spacing:1.5px}.circle-arrow{position:absolute;right:0;bottom:0;font-size:26px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.restaurant{border-top:1px solid var(--line)}.photo-frame{position:relative;height:550px}.photo-frame img{object-position:center}.photo-label{position:absolute;bottom:25px;right:-30px;padding:20px 30px;background:#e6e9d8;font:italic 25px var(--serif)}.section-copy p:not(.eyebrow):not(.small){color:var(--muted);max-width:480px}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.text-link{display:inline-block;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:4px}.small{font-size:12px;color:var(--muted);margin-top:15px;line-height:1.6}.celebrations{background:var(--green);color:#f6f6ee}.celebrations .section-copy p:not(.eyebrow){color:#d4dfd4}.celebrations h2 em{color:#d6deb6}.occasion-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:22px 0;margin:25px 0;gap:8px;font-size:14px}.wedding-photo{height:650px;position:relative;padding-bottom:75px}.wedding-photo img{object-position:center}.photo-caption{position:absolute;bottom:0;left:0;right:0;font:26px/1.6 var(--serif);padding-top:24px}.photo-caption em{font-size:22px;color:#d4dfc1}.stay .photo-frame{height:480px}.lake{min-height:560px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.lake>img{position:absolute;inset:0;object-position:center 60%}.lake:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092824df,#14332820)}.lake-content{position:relative;z-index:1;max-width:720px;padding:75px 8%}.lake h2{font-size:54px}.lake-content p:not(.eyebrow){max-width:430px;color:#e5e9e1}.lake-note{position:absolute;z-index:1;bottom:15px;right:25px;font-size:10px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.contact-phone{font:42px/1.5 var(--serif);display:block;margin:25px 0 10px}.contact-phone span{font:28px var(--sans);margin-left:20px}.contact-email{border-bottom:1px solid var(--line)}.contact-details{border-left:1px solid var(--line);padding-left:55px}.contact-details>div+div{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.contact-details h3{font-size:26px;margin:10px 0}.contact-details p{color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;padding:50px 8%;border-top:1px solid var(--line)}footer .brand{font-size:42px}footer p{margin:0;font:italic 21px var(--serif)}footer>span{font-size:12px;color:var(--muted)}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-content{margin-left:calc((100vw - 1600px)/2)}.lake-content{max-width:850px}}
@media(max-width:1050px){nav{gap:18px}nav .nav-cta{margin:0;gap:12px}.header{padding:0 4%}.section{padding-left:6%;padding-right:6%}.hero-content{padding-left:6%}.split{gap:6%}.offer{height:370px}.offer h3{font-size:25px}.offer>div{left:20px;right:15px}.actions{align-items:flex-start;flex-direction:column;gap:14px}.contact{gap:6%}.contact-details{padding-left:30px}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:80px;padding:0 6%}.brand{font-size:40px}.brand span{font-size:8px;letter-spacing:2px;margin-top:9px}.menu-toggle{display:flex;gap:16px;align-items:center;border:0;background:none;color:var(--green);font-size:14px;padding:12px 0 12px 15px}.menu-toggle span{font-size:21px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px 6%;box-shadow:0 10px 15px #12332415}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a{padding:12px 0}nav .nav-cta{padding:12px;margin-top:15px}.hero{height:auto;min-height:650px}.hero-image{object-position:62% center}.hero-content{padding:74px 7% 130px}.hero .eyebrow{font-size:10px;letter-spacing:1.7px}.hero h1{font-size:clamp(43px,10.5vw,72px);letter-spacing:-1.5px;margin:25px 0}.hero-content>p:not(.eyebrow){font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px;margin-top:27px}.hero-bottom{left:7%;bottom:24px;align-items:flex-start;flex-direction:column;gap:13px;letter-spacing:1px;font-size:9px}.section{padding:65px 7%}.intro,.split,.contact{grid-template-columns:1fr;gap:28px}.intro{padding-bottom:40px}.intro h2{margin-bottom:0}.intro-text{padding:0}.offer-grid{grid-template-columns:1fr;padding-top:0;gap:18px}.offer{height:330px}.offer>div{left:25px;bottom:25px}.offer h3{font-size:31px}.offer .eyebrow{font-size:11px}.photo-frame{height:370px}.photo-label{right:-10px;font-size:21px;bottom:20px;padding:15px 20px}.section-copy{padding-top:15px}h2{font-size:39px;letter-spacing:-1px}.eyebrow{font-size:11px;margin-bottom:20px}.actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.wedding-photo{height:470px;margin-top:20px;padding-bottom:85px}.photo-caption{font-size:23px}.photo-caption em{font-size:20px}.stay .photo-frame{height:340px}.lake{min-height:500px}.lake-content{padding:65px 7%}.lake h2{font-size:43px}.contact-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.contact-phone{font-size:37px}.contact .eyebrow{max-width:300px}.contact{gap:42px}footer{flex-wrap:wrap;gap:30px;padding:35px 7% 100px}footer p{font-size:18px}footer>span{width:100%}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--green);color:white;display:flex;justify-content:space-between;padding:15px 7%;font-size:14px;border-top:1px solid #ffffff30}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Kadry dostarczonych fotografii */
.offer img[src="/assets/hall.png"]{object-position:60% 50%}.restaurant img[src="/assets/pastries.png"]{object-position:center 60%}.lake>img[src="/assets/ceremony.jpg"]{object-position:center 55%;filter:brightness(1.04) contrast(1.04) saturate(1.04)}
/* Galeria i zapytania o przyjęcia */
.gallery{border-top:1px solid var(--line)}.gallery-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.gallery-heading>p{color:var(--muted)}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 24px}.gallery-filters button{border:1px solid var(--line);padding:10px 16px;background:transparent;color:var(--ink);font-size:14px;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.gallery-count{font-size:14px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-photo{padding:0;border:0;position:relative;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in;background:#e1e5dc}.gallery-photo img{transition:transform .35s}.gallery-photo:hover img{transform:scale(1.04)}.gallery-photo span{position:absolute;bottom:12px;right:12px;background:var(--paper);color:var(--green);padding:4px 12px;font-size:14px}.gallery-empty{padding:36px;border:1px solid var(--line);color:var(--muted)}#gallery-more{margin-top:25px;cursor:pointer}button[hidden],[hidden]{display:none!important}#lightbox{padding:55px 24px 20px;width:min(1100px,96vw);max-height:94svh;border:0;background:#112b24;color:white}#lightbox::backdrop{background:#07140fe8}#lightbox figure{margin:0}#lightbox-image{height:65svh;object-fit:contain}#lightbox-caption{text-align:center;font-size:14px;margin-top:12px}.lightbox-close{position:absolute;right:15px;top:5px;background:transparent;border:0;color:white;font-size:34px;cursor:pointer;padding:0 12px}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:14px}.lightbox-controls button{background:transparent;border:1px solid #ffffff80;color:white;font-size:22px;min-width:48px;min-height:44px;cursor:pointer}.enquiry{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:start;padding-top:85px}.enquiry-intro>p{color:var(--muted)}.enquiry-note{border-left:2px solid var(--green);padding-left:18px;font-size:14px}.enquiry form{min-width:0;background:white;padding:32px}.enquiry fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.enquiry legend{font-size:16px;font-weight:600;border-bottom:1px solid var(--line);width:100%;padding:0 0 12px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry label{display:block;font-size:14px;font-weight:500}.enquiry input:not([type=checkbox]),.enquiry select,.enquiry textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #bbc6bc;background:#fafbf7;border-radius:0;padding:12px;color:var(--ink);font:16px/1.5 var(--sans)}.enquiry textarea{resize:vertical}.enquiry input:focus-visible,.enquiry select:focus-visible,.enquiry textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.check-grid label{display:flex;align-items:flex-start;gap:9px}.check-grid input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin-top:3px}.form-help{font-size:14px;color:var(--muted);line-height:1.6}.enquiry .button{border:0;cursor:pointer}.copy-button{background:transparent;border:0;border-bottom:1px solid;cursor:pointer;color:var(--green);margin:18px 0 0;padding:5px 0}#form-status{font-size:14px;margin:18px 0 0}.brand span{letter-spacing:1.5px}nav{gap:22px}.contact{padding-bottom:70px}
@media(max-width:1050px){.enquiry{grid-template-columns:1fr;gap:30px}.enquiry-intro{max-width:650px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:14px}.nav-cta{gap:12px;padding:12px}.enquiry form{padding:28px}}
@media(max-width:760px){.gallery-heading{grid-template-columns:1fr;gap:0}.gallery-filters{gap:8px}.gallery-filters button{padding:8px 12px}.gallery-grid{gap:10px}.gallery-photo{aspect-ratio:1}.gallery-photo span{font-size:12px;right:7px;bottom:7px;padding:2px 7px}.form-grid,.check-grid{grid-template-columns:1fr}.enquiry form{padding:22px 16px}.enquiry{padding-top:60px}.enquiry .button{width:100%;gap:12px}.brand span{font-size:8px;letter-spacing:1px}.contact-email{overflow-wrap:anywhere}#lightbox{padding:50px 12px 16px}#lightbox-image{height:55svh}}

/* Formularz: pole ochronne poza widokiem i stan wysyłki. */
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.enquiry button:disabled{opacity:.6;cursor:wait}
