@font-face{font-family:Manrope;src:url("./assets/manrope-latin.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:Manrope;src:url("./assets/manrope-cyrillic.woff2") format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url("./assets/inter-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Inter;src:url("./assets/inter-cyrillic.woff2") format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--bg:#171411;--dark:#211b17;--text:#f8eee3;--muted:#d2bfb0;--line:#5c4637;--copper:#e9a36c;--paper:#eee2d1;--ink:#241a13;--head:Manrope,system-ui,sans-serif;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.65 Inter,system-ui,sans-serif}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
html{scroll-padding-block:1rem}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--head);line-height:1.02;letter-spacing:-.055em}
h1{font-weight:800;font-size:clamp(2.8rem,6.25vw,6.2rem)}
h2{font-weight:800;font-size:clamp(2.25rem,4.9vw,4.65rem)}
h3{font-size:clamp(1.06rem,2vw,1.48rem);font-weight:800;letter-spacing:-.035em}
.shell{width:min(1320px,calc(100% - 8vw));margin-inline:auto}
.skip{position:fixed;top:10px;left:10px;z-index:5;padding:.7rem;background:var(--paper);color:var(--ink);transform:translateY(-150%)}
.skip:focus{transform:translateY(0)}
.demo{text-align:center;background:#38281c;color:#ffe4cf;font-size:.76rem;padding:.4rem 1rem}
.mast{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:78px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.42rem;text-decoration:none;font:800 1.38rem/1 var(--head);letter-spacing:-.055em;white-space:nowrap}
.brand span,.intro h1 span{color:var(--copper)}
.brand img{margin-right:.15rem}
nav,.hero-actions{display:flex;align-items:center;gap:clamp(.75rem,2.8vw,2.4rem)}
nav a,.inline{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.28em}
nav a{font-size:.91rem;text-decoration:none;color:var(--muted)}
nav a:hover,.inline:hover{color:var(--copper)}
.button,.outline{min-height:48px;padding:.7rem 1.02rem;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;border:1px solid var(--copper);text-decoration:none;color:var(--ink);background:var(--copper);font:800 .9rem/1.3 var(--head);text-align:center;border-radius:.24rem;cursor:pointer}
.outline{color:var(--text);background:transparent;border-color:#9f7b61}
.button:hover{background:#ffc495}
.outline:hover{border-color:var(--copper);color:var(--copper)}
.hero{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(1.5rem,4.4vw,4.25rem);padding-block:clamp(2.5rem,5.25vw,5.4rem)}
.kicker{color:var(--copper);font-size:.74rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin-bottom:1.15rem}
.intro h1+p,.booking h2+p{color:var(--muted);max-width:38ch;margin-top:1.3rem}
.hero-actions{margin-top:1.65rem;flex-wrap:wrap;gap:1rem}
.hero-photo{position:relative}
.hero-photo img{aspect-ratio:1.19;width:100%;height:auto;object-fit:cover;object-position:53% center;border-radius:.38rem}
.hero-photo figcaption{position:absolute;bottom:.75rem;left:.75rem;color:var(--text);background:#201812;padding:.2rem .45rem;font-size:.72rem;border:1px solid #9b7456;border-radius:.2rem}
.menu{background:var(--paper);color:var(--ink);padding-block:clamp(2.7rem,6.7vw,6rem)}
.menu .kicker{color:#7b3e20}
.menu :focus-visible{outline-color:#77391a}
.menu-grid,.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(1.45rem,5vw,5rem)}
.menu-note{color:#5d4a3b;margin-top:.85rem}
.price-list{border-top:1px solid #ad9681}
.price-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(.55rem,1.8vw,1.4rem);padding:1.1rem 0;border-bottom:1px solid #ad9681}
.price-list article p{color:#5d4a3b;font-size:.86rem;margin-top:.24rem}
.price{font-weight:700;white-space:nowrap}
.price-list a{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #886d55;border-radius:.26rem;text-decoration:none}
.price-list a:hover{background:#d8c0a9}
.section{padding-top:clamp(3rem,6.2vw,6.3rem)}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.4rem,4.8vw,4.5rem);background:var(--dark);border:1px solid var(--line);padding:clamp(1.15rem,4vw,3.75rem);border-radius:.5rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.fields label{display:grid;gap:.35rem;min-width:0;font-size:.86rem;font-weight:650}
.fields select{width:100%;min-height:48px;background:var(--bg);border:1px solid #9f7b61;border-radius:.24rem;color:var(--text);padding:.65rem;font:inherit;font-size:.93rem}
output{display:block;margin:1rem 0;color:var(--copper);font-weight:700}
#result:not(:empty){margin-top:.7rem;color:var(--text);font-size:.9rem}
.faq{padding-bottom:clamp(3rem,6.2vw,6.3rem)}
.faq h2{font-size:clamp(2rem,4.25vw,3.9rem)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:.75rem 0;font-weight:700}
.faq details p{margin-bottom:.7rem;color:var(--muted)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding-block:1.3rem 2rem}
.foot p{color:var(--muted);font-size:.84rem}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-photo img{aspect-ratio:1.48}.menu-grid,.booking,.faq{grid-template-columns:1fr}.hero h1{font-size:clamp(2.8rem,9vw,5.2rem)}}
@media(max-width:540px){.mast{display:grid;grid-template-columns:1fr auto;padding-top:.6rem;gap:.25rem .5rem}.mast nav{grid-column:1/-1;grid-row:2}.mast .outline{font-size:.75rem;min-height:43px;padding-inline:.6rem}.demo{font-size:.69rem}.price-list article p{font-size:.78rem}.foot{align-items:flex-start;flex-direction:column}}
@media(max-width:375px){.fields{grid-template-columns:1fr}.price{font-size:.87rem}.price-list a{min-width:36px}}

