/* Art direction: dom przy parku w renesansowym Zamościu → spokojny, redakcyjny charakter.
   Palette: ciepły papier + stonowany morski akcent z Nexus, bez ozdobnych gradientów.
   Typography: Boska + Satoshi — miękka elegancja nagłówków i czytelny tekst.
   Density: przestronnie, z asymetrycznymi kadrami oryginalnych fotografii. */
:root,[data-theme="light"]{
--color-bg:#f7f6f2;--color-surface:#eeece5;--color-surface-2:#fffefa;--color-surface-offset:#e2e0d7;
--color-text:#282b27;--color-text-muted:#5b625d;--color-text-faint:#596256;--color-text-inverse:#fffefa;
--color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-highlight:#cedcd8;--color-divider:oklch(0.28 0.01 140 / .18);--color-error:#a12b3c;
--font-display:'Boska',Georgia,serif;--font-body:'Satoshi',Arial,sans-serif;
--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-hero:clamp(3.25rem,1.2rem + 4.5vw,5.75rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--content-wide:1280px;
--shadow-lg:0 16px 50px oklch(.25 .01 90 / .1);--transition-interactive:180ms cubic-bezier(.16,1,.3,1);
color-scheme:light;
}
[data-theme="dark"]{--color-bg:#181d1b;--color-surface:#222a27;--color-surface-2:#29332f;--color-surface-offset:#303c36;--color-text:#eeeae1;--color-text-muted:#b9c2b9;--color-text-faint:#aab6aa;--color-text-inverse:#142522;--color-primary:#94c5be;--color-primary-hover:#b3dad4;--color-primary-highlight:#314944;--color-divider:oklch(.9 .01 130 / .2);--color-error:#ffa6b0;--shadow-lg:0 16px 50px oklch(0 0 0 / .24);color-scheme:dark;}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#181d1b;--color-surface:#222a27;--color-surface-2:#29332f;--color-surface-offset:#303c36;--color-text:#eeeae1;--color-text-muted:#b9c2b9;--color-text-faint:#aab6aa;--color-text-inverse:#142522;--color-primary:#94c5be;--color-primary-hover:#b3dad4;--color-primary-highlight:#314944;--color-divider:oklch(.9 .01 130 / .2);--color-error:#ffa6b0;color-scheme:dark;}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last;scroll-padding-top:var(--space-24)}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}img{background:var(--color-surface-offset)}
ul[role=list],ol[role=list]{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.12;font-weight:400}p,li,figcaption{text-wrap:pretty;max-width:72ch}
::selection{background:var(--color-primary-highlight);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}
button{cursor:pointer;background:none;border:none}a{color:inherit;text-underline-offset:.25em}a,button,[role=button],input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
a:active,button:active{opacity:.78}table{border-collapse:collapse;width:100%}.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}
.container{width:100%;max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(var(--space-5),4vw,var(--space-16))}.skip-link{position:fixed;left:var(--space-4);top:var(--space-4);z-index:100;transform:translateY(-200%);padding:var(--space-3) var(--space-5);background:var(--color-surface-2)}.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--color-divider);background:var(--color-bg);position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:104px}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex-shrink:0}.brand-symbol{width:42px;height:48px;color:var(--color-primary)}.brand-copy{display:flex;flex-direction:column;font-size:var(--text-lg);line-height:1.16;font-weight:500}.brand-copy small{font-size:var(--text-xs);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-1)}
.nav{display:flex;gap:var(--space-6);align-items:center}.nav a{text-decoration:none;font-size:var(--text-sm);padding-block:var(--space-3);position:relative}.nav a::after{content:"";position:absolute;bottom:var(--space-1);left:0;right:0;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-interactive)}.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}.nav a[aria-current=page]{color:var(--color-primary)}.header-actions{display:flex;gap:var(--space-2);align-items:center}.icon-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-divider);border-radius:var(--radius-full)}.icon-btn:hover{background:var(--color-surface)}.icon-btn svg{width:20px;height:20px}.menu-toggle{display:none}.header-phone{font-size:var(--text-sm);text-decoration:none;font-weight:500;display:flex;gap:var(--space-2);align-items:center;min-height:44px;padding-inline:var(--space-3)}.header-phone svg{width:16px;height:16px}
.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-5);min-height:52px;padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:500;text-decoration:none;border-radius:var(--radius-sm);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button svg{width:18px;height:18px}.button.secondary{color:var(--color-primary);background:transparent}.button.secondary:hover{background:var(--color-primary-highlight)}.text-link{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:500;min-height:44px;color:var(--color-primary)}.text-link svg{width:18px;height:18px}
.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:590px;position:relative}.hero-copy{padding-block:var(--space-20);padding-right:var(--space-10);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:1.01;letter-spacing:-.035em;max-width:12ch;margin-block:var(--space-6)}.hero h1 em{font-style:normal;color:var(--color-primary)}.hero-tagline{color:var(--color-text-muted);margin-bottom:var(--space-8)}.hero-photo{position:relative;margin-top:var(--space-8);margin-bottom:var(--space-8)}.hero-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:46% center;border-radius:var(--radius-sm)}.hero-photo figcaption{position:absolute;right:var(--space-4);bottom:var(--space-4);background:var(--color-bg);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);letter-spacing:.02em}
.quick-facts{border-block:1px solid var(--color-divider);display:grid;grid-template-columns:repeat(4,1fr);padding-block:var(--space-6);gap:var(--space-5)}.quick-facts div{display:flex;align-items:center;gap:var(--space-3);border-right:1px solid var(--color-divider)}.quick-facts div:last-child{border:0}.quick-facts strong{font-size:var(--text-xl);font-family:var(--font-display);font-weight:500;white-space:nowrap}.quick-facts span{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4;max-width:12ch}
.section{padding-block:clamp(var(--space-12),7vw,var(--space-24))}.section-heading{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;margin-top:var(--space-4);margin-bottom:var(--space-6)}.intro-layout{display:grid;grid-template-columns:.8fr 1.25fr;gap:var(--space-20)}.intro-layout .section-heading{font-size:var(--text-2xl);max-width:12ch}.prose p+p{margin-top:var(--space-5)}.prose p{color:var(--color-text-muted)}
.rooms-section{background:var(--color-surface)}.rooms-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-20);align-items:center}.rooms-photo{position:relative;padding-right:var(--space-10);padding-bottom:var(--space-16)}.rooms-photo .main-photo{width:100%;aspect-ratio:1.2;object-fit:cover}.rooms-photo .inset-photo{position:absolute;bottom:0;right:0;width:43%;aspect-ratio:.85;object-fit:cover;border:8px solid var(--color-surface)}.rooms-copy .text-link{margin-top:var(--space-6)}.amenities{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);font-size:var(--text-xs);padding-block:var(--space-5);margin-top:var(--space-5);border-block:1px solid var(--color-divider);list-style:none}.amenities li{display:flex;align-items:center;gap:var(--space-2)}.amenities svg{width:18px;height:18px;color:var(--color-primary)}
.gallery-preview{display:grid;grid-template-columns:1.1fr .85fr 1.1fr;gap:var(--space-5);margin-top:var(--space-8)}.gallery-preview a{display:block;overflow:hidden}.gallery-preview img{width:100%;height:360px;object-fit:cover;transition:transform .55s}.gallery-preview a:hover img{transform:scale(1.025)}.gallery-preview a:nth-child(2){padding-top:var(--space-10)}.gallery-preview a:nth-child(2) img{height:320px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:var(--space-6)}.section-top .section-heading{margin-bottom:0}
.reviews{background:var(--color-surface);padding-block:var(--space-16)}.reviews-layout{display:grid;grid-template-columns:.55fr 1.45fr;gap:var(--space-16)}.quotes{display:grid;gap:var(--space-8)}.quote{border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-8)}.quote:last-child{border:0;padding-bottom:0}.quote p{font-size:var(--text-base)}.quote footer{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3)}
.visit-band{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);padding-block:var(--space-12)}.visit-band .section-heading{margin-top:var(--space-2);margin-bottom:0}.site-footer{background:var(--color-surface);padding-top:var(--space-16)}.footer-top{display:grid;grid-template-columns:1.3fr .85fr .8fr;gap:var(--space-12);padding-bottom:var(--space-12)}.footer-description{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-6);max-width:42ch}.footer-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-5);color:var(--color-text-muted)}.site-footer address{font-style:normal;font-size:var(--text-sm)}.footer-phone{display:block;font-size:var(--text-lg);text-decoration:none;min-height:44px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-5);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted)}.footer-nav{display:flex;gap:var(--space-5);flex-wrap:wrap}.footer-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none}
.page-intro{padding-top:var(--space-16);padding-bottom:var(--space-10)}.page-intro h1{font-family:var(--font-display);font-size:var(--text-2xl);margin-top:var(--space-4);margin-bottom:var(--space-5);letter-spacing:-.025em}.page-intro p{color:var(--color-text-muted)}.breadcrumb{font-size:var(--text-xs);display:flex;gap:var(--space-3);align-items:center;min-height:44px;color:var(--color-text-muted);margin-bottom:var(--space-8)}.breadcrumb a{min-height:44px;display:flex;align-items:center}.photo-count{font-size:var(--text-xs);color:var(--color-text-muted);padding-block:var(--space-4);border-block:1px solid var(--color-divider);margin-bottom:var(--space-6)}
.gallery-grid{columns:3;column-gap:var(--space-5);padding-bottom:var(--space-16)}.gallery-item{break-inside:avoid;margin-bottom:var(--space-6)}.gallery-item a{display:block;text-decoration:none;position:relative;overflow:hidden}.gallery-item img{width:100%;height:auto;transition:filter .25s}.gallery-item a:hover img{filter:brightness(.88)}.gallery-item figcaption{font-size:var(--text-xs);margin-top:var(--space-2);color:var(--color-text-muted)}.zoom-mark{position:absolute;bottom:var(--space-3);right:var(--space-3);background:var(--color-bg);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-full)}.zoom-mark svg{width:18px;height:18px}
.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:var(--space-6);background:#141a17;color:#fffefa;overflow:hidden}.lightbox::backdrop{background:#141a17}.lightbox-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-4)}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.lightbox .icon-btn{border-color:#64716a}.lightbox .icon-btn:hover{background:#2e3a33}.lightbox-photo{margin:auto;max-width:100%;height:100%;object-fit:contain;background:transparent}.lightbox-controls{display:flex;gap:var(--space-3)}.lightbox-caption{font-size:var(--text-sm)}.gallery-hint{font-size:var(--text-xs);color:#c2cac5}
.price-row{display:grid;grid-template-columns:.95fr 1.05fr;border-top:1px solid var(--color-divider);padding-block:var(--space-10);gap:var(--space-12);align-items:center}.price-row>img{width:100%;height:400px;object-fit:cover}.price-row h2{font-family:var(--font-display);font-size:var(--text-xl);margin-block:var(--space-3) var(--space-5)}.price-value{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6)}.price-value small{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted)}.price-details{font-size:var(--text-base);color:var(--color-text-muted)}.price-details p+p{margin-top:var(--space-2)}.discounts{list-style:none;border-block:1px solid var(--color-divider);padding-block:var(--space-4);margin-block:var(--space-5);font-size:var(--text-sm)}.discounts li+li{margin-top:var(--space-2)}.discounts strong{font-weight:700;color:var(--color-primary)}.price-row .button{margin-top:var(--space-6)}.pricing{padding-bottom:var(--space-16)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-20);padding-bottom:var(--space-16)}.contact-details{padding-top:var(--space-5)}.contact-details h2{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-6)}.contact-details p{color:var(--color-text-muted);margin-top:var(--space-6)}.contact-details address{font-style:normal;margin-block:var(--space-8)}.contact-form{background:var(--color-surface);padding:var(--space-10)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);min-width:0}.field label{font-size:var(--text-sm)}.field input,.field textarea{width:100%;background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);min-height:48px;font-size:var(--text-base)}.field textarea{resize:vertical;min-height:160px}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted)}.form-notice{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-5)}.form-status{font-size:var(--text-sm);margin-top:var(--space-5)}.form-status:empty{display:none}.form-status[data-state=error]{color:var(--color-error)}.form-status[data-state=success]{color:var(--color-primary)}.contact-form .button:disabled{cursor:wait;opacity:.6}.map-panel{border-top:1px solid var(--color-divider);padding-block:var(--space-12)}.map-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-16);align-items:center}.map-frame{aspect-ratio:16/9;background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-6);text-align:center;min-height:280px}.map-frame iframe{width:100%;height:100%;border:0}.map-frame.is-loaded{padding:0}.map-frame p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:40ch}.map-frame>svg{width:32px;height:32px;color:var(--color-primary)}.img-fallback{display:flex;align-items:center;justify-content:center;min-height:220px;background:var(--color-surface-offset);padding:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}
@media(min-width:1440px){.hero{min-height:660px}.hero-photo img{min-height:590px}}
@media(max-width:1100px){.header-phone{display:none}.nav{gap:var(--space-5)}.hero h1{font-size:clamp(3.25rem,6vw,4.5rem)}.hero-copy{padding-right:var(--space-6)}.rooms-layout,.intro-layout,.reviews-layout,.contact-layout{gap:var(--space-10)}.footer-top{gap:var(--space-8)}}
@media(max-width:800px){.header-inner{min-height:88px}.brand-copy{font-size:var(--text-base)}.brand-symbol{width:34px;height:40px}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-divider);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-lg)}.nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1)}.nav a{min-height:48px}.hero{grid-template-columns:1fr 1fr;min-height:520px}.hero-copy{padding-block:var(--space-12)}.hero h1{font-size:clamp(2.75rem,6.5vw,4rem)}.hero-photo img{min-height:450px}.hero-photo figcaption{right:var(--space-2);bottom:var(--space-2);padding:var(--space-2);max-width:90%}.quick-facts{grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.quick-facts div:nth-child(2){border:0}.intro-layout{grid-template-columns:.8fr 1.2fr;gap:var(--space-8)}.intro-layout .section-heading{font-size:var(--text-xl)}.rooms-layout{gap:var(--space-8)}.rooms-photo{padding-right:var(--space-5);padding-bottom:var(--space-10)}.gallery-preview img{height:260px}.gallery-preview a:nth-child(2) img{height:220px}.reviews-layout{grid-template-columns:1fr;gap:var(--space-6)}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-description{max-width:65ch}.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.gallery-grid{columns:2}.contact-layout{grid-template-columns:1fr;gap:var(--space-8)}.contact-details{max-width:60ch}.contact-details address{margin-block:var(--space-5)}.map-layout{grid-template-columns:1fr;gap:var(--space-6)}.price-row{gap:var(--space-8)}.price-row>img{height:360px}}
@media(max-width:560px){.header-inner{gap:var(--space-2);min-height:82px}.header-actions{gap:var(--space-2)}.brand{gap:var(--space-2)}.brand-copy small{font-size:var(--text-xs);letter-spacing:.06em}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding-top:var(--space-12);padding-bottom:var(--space-8);padding-right:0}.hero h1{font-size:clamp(3.1rem,12vw,4.4rem);max-width:12ch;margin-block:var(--space-4)}.hero-tagline{margin-bottom:var(--space-6)}.hero-photo{margin-top:0;margin-bottom:var(--space-8)}.hero-photo img{min-height:0;height:330px;object-position:center}.hero-photo figcaption{right:var(--space-3);bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.quick-facts{padding-block:var(--space-5);gap:var(--space-4)}.quick-facts div{gap:var(--space-3)}.quick-facts strong{font-size:var(--text-xl)}.intro-layout,.rooms-layout{grid-template-columns:1fr;gap:var(--space-8)}.intro-layout .section-heading{max-width:18ch;margin-bottom:0}.rooms-photo{max-width:440px}.gallery-preview{grid-template-columns:1fr 1fr;gap:var(--space-3)}.gallery-preview a:nth-child(2){padding-top:0}.gallery-preview img,.gallery-preview a:nth-child(2) img{height:240px}.gallery-preview a:last-child{display:none}.section-top{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.section-top .text-link{min-height:44px}.visit-band{align-items:flex-start;flex-direction:column;gap:var(--space-6)}.footer-top{grid-template-columns:1fr;gap:var(--space-8)}.footer-top>div:first-child{grid-column:auto}.site-footer{padding-top:var(--space-10)}.footer-top{padding-bottom:var(--space-8)}.footer-nav{gap:var(--space-4)}.page-intro{padding-top:var(--space-8);padding-bottom:var(--space-8)}.breadcrumb{margin-bottom:var(--space-5)}.gallery-grid{columns:2;column-gap:var(--space-3)}.gallery-item{margin-bottom:var(--space-5)}.gallery-item figcaption{font-size:var(--text-xs)}.gallery-hint{display:none}.lightbox{padding:var(--space-4)}.lightbox-bottom{align-items:flex-start}.lightbox-caption{max-width:20ch}.price-row{grid-template-columns:1fr;gap:var(--space-6);padding-block:var(--space-8)}.price-row>img{height:280px}.price-row:nth-child(2)>img{order:0}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:var(--space-6)}.contact-layout{gap:var(--space-8)}.map-frame{min-height:300px;aspect-ratio:auto}.map-frame iframe{min-height:300px}.footer-phone{font-size:var(--text-lg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@view-transition { navigation: auto; }
