@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');

:root{--blue:#1638a5;--blue-dark:#0b1f62;--ivory:#f2ecdf;--paper:#e8dfce;--linen:#c8b99e;--wood:#713c29;--ink:#18160f;--red:#9c3b2d;--line:rgba(24,22,15,.25);--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
figure,p,h1,h2,h3,blockquote,dl,dd{margin:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:#fff;padding:10px 14px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.wordmark{font-family:var(--mono);font-weight:500;letter-spacing:.12em;font-size:.82rem}
.topbar,.casino-bar,.note-bar{height:72px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}
.topbar nav,.casino-bar nav{display:flex;gap:2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}
.topbar nav a,.casino-bar nav a,.note-bar>a:last-child{border-bottom:1px solid transparent;padding:5px 0}
.topbar nav a:hover,.casino-bar nav a:hover,.note-bar>a:last-child:hover{border-color:currentColor}
.eyebrow,.section-no,.grid-code,.course-label{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}

/* RESTAURACJA */
.cloth-hero{height:calc(100vh - 72px);min-height:640px;background:var(--blue);color:var(--ivory);position:relative;overflow:hidden;padding:8vh 5vw;display:grid;grid-template-columns:1fr 1fr;align-content:center}
.cloth-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(132deg,transparent 0 43%,rgba(255,255,255,.055) 43.2% 44%,transparent 44.2% 100%),linear-gradient(25deg,transparent 0 64%,rgba(0,0,0,.12) 64.2% 65%,transparent 65.2%)}
.fold{position:absolute;pointer-events:none;filter:drop-shadow(-20px 24px 30px rgba(3,11,42,.3))}
.fold-a{width:55vw;height:65vw;right:-18vw;top:-25vw;transform:rotate(21deg);background:linear-gradient(125deg,#2348b8,#0e2c91 49%,#264cba 50%,#1638a5);clip-path:polygon(5% 0,100% 12%,86% 100%,0 84%)}
.fold-b{width:24vw;height:45vw;left:-15vw;bottom:-25vw;transform:rotate(-27deg);background:linear-gradient(145deg,#102d95,#2449b6)}
.cloth-hero .eyebrow{position:absolute;top:8vh;left:5vw}
.cloth-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(5rem,14.2vw,13rem);line-height:.67;letter-spacing:-.075em;position:relative;z-index:1;grid-column:1/-1;transform:rotate(-5deg)}
.cloth-hero h1 span{display:block}.cloth-hero h1 span:last-child{margin-left:17vw;font-style:italic}
.hero-note{position:absolute;right:7vw;top:16vh;font-family:var(--serif);font-size:clamp(1.2rem,2vw,2rem);font-style:italic;line-height:1.2;transform:rotate(5deg)}
.thread-link{position:absolute;bottom:6vh;right:5vw;border-bottom:1px solid currentColor;padding:8px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.thread-link span{margin-left:5rem}.thread-link:hover span{margin-left:5.5rem}

.editorial-collage{min-height:1100px;padding:10vw 4vw;display:grid;grid-template-columns:1.15fr .8fr .75fr;grid-template-rows:auto 330px;gap:3vw 4vw;position:relative;background:var(--ivory)}
.collage-main{height:650px;transform:rotate(-1.8deg);position:relative;z-index:2}.collage-main:before{content:"";position:absolute;width:96%;height:96%;left:5%;top:6%;border:1px solid var(--blue);z-index:-1}
figcaption{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;margin-top:10px}
.collage-copy{align-self:center}.collage-copy h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.3rem);font-weight:500;line-height:.95;letter-spacing:-.04em;margin:2rem 0}
.collage-copy>p:last-child{max-width:38ch;font-size:.98rem;line-height:1.7}
.collage-detail{height:390px;margin-top:18vw;transform:rotate(2.5deg)}
.margin-note{font-family:var(--serif);font-style:italic;font-size:1.5rem;max-width:18ch;grid-column:2;align-self:center;transform:rotate(-4deg);color:var(--blue)}

.menu-folds{background:var(--blue);color:var(--ivory);min-height:1000px;padding:8vw 4vw;display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto repeat(2,minmax(220px,auto));position:relative;overflow:hidden}
.menu-folds:before,.menu-folds:after{content:"";position:absolute;background:rgba(255,255,255,.035);width:55%;height:120%;top:-10%;transform:skewX(-19deg);pointer-events:none}.menu-folds:before{left:14%;box-shadow:0 0 70px rgba(2,10,39,.25)}.menu-folds:after{right:-35%;background:rgba(0,0,0,.08)}
.menu-intro{padding:0 5vw 4vw 0;position:relative;z-index:1;grid-row:1/3}.menu-intro h2{font-family:var(--serif);font-size:clamp(3.4rem,7vw,7rem);line-height:.82;font-weight:500;letter-spacing:-.055em;margin:2rem 0}.menu-intro>p:last-child{max-width:35ch}
.course{border-left:1px solid rgba(242,236,223,.35);border-top:1px solid rgba(242,236,223,.35);padding:3vw;position:relative;z-index:1;transform:skewY(-2deg)}
.course h3{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.7rem);font-weight:500;line-height:1.06;margin:1.4rem 0 .5rem}.course>p:not(.course-label){opacity:.7;font-size:.85rem}.course>span{font-family:var(--mono);position:absolute;right:2vw;bottom:2vw}.course-5{grid-column:2/-1}.menu-footnote{grid-column:1/-1;border-top:1px solid rgba(242,236,223,.35);padding-top:2rem;font-family:var(--mono);font-size:.65rem;position:relative;z-index:1}

.craft{padding:10vw 5vw;display:grid;grid-template-columns:1.05fr .9fr;gap:4vw 8vw;background:#d4c5aa}.craft figure{height:750px}.craft-copy{align-self:center}.craft-copy h2{font-family:var(--serif);font-size:clamp(3rem,5.5vw,5.7rem);line-height:.92;font-weight:500;letter-spacing:-.05em;margin:2rem 0}.craft-copy>p:last-of-type{max-width:48ch;line-height:1.75}.craft dl{margin-top:3rem;border-top:1px solid var(--line)}.craft dl div{display:grid;grid-template-columns:1fr 2fr;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.craft dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em}.craft blockquote{grid-column:1/-1;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;font-style:italic;color:var(--blue);max-width:20ch;margin:2vw auto}.craft cite{display:block;font-family:var(--mono);font-size:.65rem;font-style:normal;margin-top:1.5rem}

.long-table{background:var(--wood);color:var(--ivory);padding:9vw 4vw;display:grid;grid-template-columns:.6fr 1.4fr;gap:4vw}.long-table-heading h2{font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,6.5vw,7rem);line-height:.88;letter-spacing:-.04em;margin-top:2rem;position:relative;z-index:2}.long-table figure{height:650px}.long-table-copy{grid-column:2;display:flex;justify-content:space-between;align-items:flex-start}.long-table-copy p{max-width:43ch}.long-table-copy .thread-link{position:static;white-space:nowrap}.long-table-copy .thread-link span{margin-left:3rem}

.after-dinner{padding:9vw 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.after-dinner>.section-no,.after-dinner>h2{grid-column:1/-1}.after-dinner>h2{font-family:var(--serif);font-size:clamp(3.5rem,7vw,7.5rem);font-weight:500;letter-spacing:-.055em;margin:1rem 0 5rem}.after-dinner article{padding:2.5vw;border-top:1px solid var(--ink);border-right:1px solid var(--ink);min-height:330px}.after-dinner article:last-child{border-right:0}.after-dinner article>span{font-family:var(--mono);font-size:.68rem}.after-dinner h3{font-family:var(--serif);font-size:2.2rem;font-weight:500;margin:5rem 0 1.5rem}.after-dinner article p{max-width:35ch;font-size:.88rem}
.casino-whisper{padding:4rem;text-align:center;border-top:1px solid var(--line)}.casino-whisper a{font-family:var(--mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
.linen-label{margin:0 3vw 3vw;background:#cbbda3;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.08) 4px);padding:3vw;display:grid;grid-template-columns:.5fr 1.4fr 1fr 1.2fr .8fr;gap:2vw;align-items:start;box-shadow:inset 0 0 0 8px rgba(255,255,255,.18);font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.linen-label strong{display:block;margin-bottom:.7rem}.linen-label p{opacity:.7}.label-mark{font-family:var(--serif);font-size:2.5rem;line-height:.65;color:var(--blue)}.label-mark small{font-family:var(--mono);font-size:.55rem}.linen-label>a{justify-self:end;border-bottom:1px solid}.label-care{grid-column:1/-1;text-align:center;border-top:1px dashed var(--line);padding-top:1.5rem}

/* KASYNO */
.casino-page{background:#0e1732;color:#f4eee3}.casino-bar{border-color:rgba(244,238,227,.25)}
.casino-grid{display:grid;grid-template-columns:repeat(12,1fr);border-left:1px solid rgba(244,238,227,.2);margin:0 3vw}.casino-grid>*{border-right:1px solid rgba(244,238,227,.2);border-bottom:1px solid rgba(244,238,227,.2)}
.casino-intro{grid-column:1/8;padding:8vw 5vw}.casino-intro h1{font-family:var(--serif);font-size:clamp(6rem,13vw,13rem);font-weight:500;line-height:.8;letter-spacing:-.06em;margin:2rem 0 3rem}.casino-lead{font-size:1.35rem;max-width:50ch;margin-bottom:1.5rem}.casino-intro>p:last-child{max-width:58ch;opacity:.68}
.casino-hero-image{grid-column:8/-1;height:780px}.casino-hero-image figcaption,.casino-table-image figcaption{padding:0 1rem}
.casino-block{padding:5vw 3vw}.casino-block h2,.casino-contact h2{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.8rem);font-weight:500;line-height:.95;margin:2rem 0}.casino-block p{max-width:53ch}.casino-block p+p{margin-top:1rem;color:rgba(244,238,227,.65)}
.character{grid-column:1/7}.tables{grid-column:7/-1}.rule-list{list-style:none;padding:0;margin:3rem 0;border-top:1px solid rgba(244,238,227,.3)}.rule-list li{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid rgba(244,238,227,.3)}.rule-list em{font-family:var(--mono);font-size:.72rem;font-style:normal}
.casino-table-image{grid-column:1/8;height:650px}.hosts{grid-column:8/-1;display:flex;flex-direction:column;justify-content:center}.practical{grid-column:1/7}.conduct{grid-column:7/-1}.practical dl{margin:3rem 0;border-top:1px solid rgba(244,238,227,.3)}.practical dl div{display:flex;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid rgba(244,238,227,.3)}.practical dt{font-size:.78rem}.practical dd{font-family:var(--mono);font-size:.72rem}.conduct ol{padding-left:1.3rem;max-width:55ch}.conduct li{padding:.7rem 0;border-bottom:1px solid rgba(244,238,227,.2)}
.responsibility{grid-column:1/9;background:#f1ebde;color:#171b28}.responsibility p+p{color:rgba(23,27,40,.7)}.casino-contact{grid-column:9/-1;background:var(--blue);padding:5vw 3vw;display:flex;flex-direction:column;justify-content:center}.casino-contact p:not(.grid-code){font-size:.9rem;opacity:.75}.casino-contact a{display:inline-block;margin-top:3rem;border-bottom:1px solid;width:max-content;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}
.casino-footer{padding:2rem 3vw;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.casino-footer a{border-bottom:1px solid}

/* KONTAKT */
.contact-page{background:#b9aa90;min-height:100vh}.note-bar{border-color:rgba(24,22,15,.25)}.reservation-note{width:min(1080px,88vw);margin:6vw auto;background:var(--ivory);padding:6vw 8vw;position:relative;box-shadow:0 28px 60px rgba(60,38,26,.22);display:grid;grid-template-columns:1.2fr .8fr;gap:4rem 8vw;overflow:hidden}.reservation-note:before{content:"";position:absolute;left:51%;top:-5%;width:1px;height:110%;background:rgba(24,22,15,.12);transform:rotate(4deg);box-shadow:-18px 0 38px rgba(86,57,36,.08)}.note-fold{position:absolute;width:280px;height:280px;right:-140px;top:-140px;background:linear-gradient(135deg,#cbbda3 49%,#dfd5c4 50%);transform:rotate(7deg);box-shadow:-8px 10px 28px rgba(64,43,31,.13)}.note-date{grid-column:1/-1;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.note-kicker{font-family:var(--serif);font-style:italic;color:var(--blue);font-size:1.4rem}.reservation-note h1{grid-column:1/-1;font-family:var(--serif);font-size:clamp(4rem,9vw,9.5rem);font-weight:500;line-height:.78;letter-spacing:-.06em;position:relative}.note-intro{font-size:1.15rem;max-width:35ch}.contact-methods{grid-column:1/-1;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}.contact-methods div{padding:2rem 1.5rem;border-right:1px solid var(--ink)}.contact-methods div:last-child{border-right:0}.contact-methods span{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:1.5rem}.contact-methods a{font-family:var(--serif);font-size:1.15rem;border-bottom:1px solid}.note-details h2,.opening-hours h2{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem}.note-details p{margin-bottom:1.3rem;max-width:46ch}.opening-hours p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.6rem 0}.opening-hours span{font-family:var(--mono);font-size:.65rem;text-transform:uppercase}.note-signoff{grid-column:2;font-family:var(--serif);font-style:italic;font-size:1.2rem}.note-footer{display:flex;justify-content:space-between;padding:0 6vw 3rem;font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.note-footer a{border-bottom:1px solid}

@media(max-width:900px){
  .topbar nav a:nth-child(-n+2){display:none}.cloth-hero{grid-template-columns:1fr}.cloth-hero h1{font-size:19vw}.cloth-hero h1 span:last-child{margin-left:6vw}.hero-note{top:20vh}.editorial-collage{grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0}.collage-main{height:520px}.collage-copy{padding:3rem 0}.collage-detail{margin-top:0;height:350px}.margin-note{grid-column:auto}.menu-folds{grid-template-columns:1fr 1fr}.menu-intro{grid-column:1/-1;grid-row:auto}.course-5{grid-column:1/-1}.craft{grid-template-columns:1fr}.craft figure{height:650px}.long-table{grid-template-columns:1fr}.long-table figure,.long-table-copy{grid-column:1}.long-table-copy{gap:2rem}.after-dinner{grid-template-columns:1fr}.after-dinner article{border-right:0;min-height:250px}.linen-label{grid-template-columns:1fr 1fr}.label-care{grid-column:1/-1}.casino-intro{grid-column:1/-1}.casino-hero-image{grid-column:1/-1;height:600px}.character,.tables,.practical,.conduct{grid-column:span 6}.casino-table-image{grid-column:1/-1}.hosts{grid-column:1/-1}.responsibility{grid-column:1/8}.casino-contact{grid-column:8/-1}.reservation-note{grid-template-columns:1fr}.note-intro,.note-signoff{grid-column:1}.contact-methods{grid-template-columns:1fr}.contact-methods div{border-right:0;border-bottom:1px solid var(--ink)}.contact-methods div:last-child{border-bottom:0}
}
@media(max-width:620px){
  .topbar,.casino-bar,.note-bar{height:60px}.topbar nav,.note-bar>a:last-child{display:none}.casino-bar nav{gap:1rem}.casino-bar nav a:first-child{display:none}.cloth-hero{height:760px;min-height:0}.cloth-hero h1{font-size:16.5vw;line-height:.85;transform:rotate(-3deg)}.cloth-hero h1 span:last-child{margin-left:0}.hero-note{font-size:.85rem;top:18vh;left:55vw;right:auto;max-width:14ch}.cloth-hero .thread-link{left:6vw;right:auto;font-size:.66rem}.thread-link span{margin-left:1rem}.editorial-collage{grid-template-columns:1fr;padding:18vw 6vw}.collage-main{height:430px}.collage-copy h2{font-size:3.2rem}.collage-detail{height:320px}.margin-note{grid-column:1;margin:3rem 0}.menu-folds{grid-template-columns:1fr;padding:18vw 6vw}.menu-intro,.course,.course-5{grid-column:1}.course{min-height:220px;padding:2rem}.craft{padding:18vw 6vw}.craft figure{height:500px}.craft blockquote{font-size:2.8rem}.long-table{padding:18vw 6vw}.long-table figure{height:430px}.long-table-copy{display:block}.long-table-copy .thread-link{display:inline-block;margin-top:2rem}.after-dinner{padding:18vw 6vw}.after-dinner>h2{margin-bottom:2rem}.after-dinner article{padding:2rem 0}.after-dinner h3{margin-top:3rem}.linen-label{grid-template-columns:1fr;margin:0;padding:2.5rem 2rem}.linen-label>a{justify-self:start}.casino-grid{margin:0}.casino-grid>*{grid-column:1/-1}.casino-intro{padding:18vw 6vw}.casino-intro h1{font-size:25vw}.casino-hero-image{height:480px}.casino-block,.casino-contact{padding:15vw 6vw}.casino-table-image{height:430px}.casino-footer{display:block}.casino-footer p{margin-top:1rem}.reservation-note{width:94vw;margin:5vw auto;padding:14vw 7vw;gap:3rem}.reservation-note h1{font-size:14vw;line-height:.84}.reservation-note:before{left:57%}.note-footer{padding:1rem 5vw 2rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
