:root{
  --bg:#E3A637;--ink:#24160F;--muted:#4E3320;--roast:#2E1D15;--on-roast:#E3A637;--roast-muted:#D9BC86;
  --accent:#7A1426;--accent-ink:#F4C865;--copper:#C7713A;--line:rgba(36,22,15,.3);
  --fd:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;--ft:"Sofia Sans",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--wrap:1180px;--g:clamp(1.25rem,4vw,3rem)
}
@view-transition{navigation:auto}
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.55 var(--ft);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--fd);font-weight:800;line-height:.95;letter-spacing:-.015em;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.dark :focus-visible{outline-color:var(--accent-ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--g)}
section{scroll-margin-top:72px}
.dark{background:var(--roast);color:var(--on-roast)}

/* шапка */
.top{position:sticky;top:0;z-index:20;background:var(--bg);transition:box-shadow .2s}
.top.scrolled{box-shadow:0 2px 0 var(--ink)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.logo{font:900 1.9rem/1 var(--fd);text-decoration:none;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:1.75rem}
.nav a{text-decoration:none;font-weight:600;padding:.5rem 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .2s var(--ease)}
.nav a:hover,.nav a:focus-visible{background-size:100% 2px}
.nav .nav-cta{padding:.7rem 1.1rem;background:var(--ink);color:var(--bg);border-radius:2px;transition:background .2s,transform .2s var(--ease)}
.nav .nav-cta:hover{background:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}
.burger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;place-items:center;color:var(--ink)}
.burger span,.burger span::before,.burger span::after{display:block;width:26px;height:3px;background:currentColor;position:relative;transition:transform .2s var(--ease)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-8px}.burger span::after{top:8px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-8px) rotate(-45deg)}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85em 1.6em;font:700 1.0625rem/1 var(--ft);background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);border-radius:2px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.dark .btn:hover{background:var(--bg);border-color:var(--bg);color:var(--roast)}
.btn:disabled{opacity:.7;cursor:wait;transform:none}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-underline-offset:.3em;text-decoration-thickness:2px}
.link:hover{text-decoration-thickness:4px}

/* первый экран */
.hero{overflow:hidden;padding:clamp(.5rem,2vw,1.5rem) 0 clamp(64px,8vw,120px)}
.giant{font:900 clamp(6rem,33vw,30rem)/.8 var(--fd);letter-spacing:-.02em;margin-left:-.03em;white-space:nowrap}
.giant span{color:var(--accent)}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--g);align-items:end;margin-top:clamp(1rem,2.5vw,2rem);padding-top:clamp(1.5rem,3vw,2.5rem);border-top:3px solid var(--ink)}
.hero h1{font-size:clamp(2.5rem,1.2rem + 4.6vw,5.5rem)}
.lead{font-size:1.1875rem;max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin:1.5rem 0 1.25rem}
.trust{color:var(--muted)}
.trust b{font:800 2rem/1 var(--fd);color:var(--ink);font-variant-numeric:tabular-nums}

/* лента */
.band-wrap{overflow:hidden;padding:1.5rem 0}
.band{background:var(--roast);color:var(--on-roast);padding:1rem 0;font:800 clamp(1.5rem,1rem + 2vw,2.5rem)/1 var(--fd)}
.band ul{display:flex;gap:2rem;list-style:none;padding:0;white-space:nowrap}
.band li{display:flex;align-items:center;gap:2rem}
.band li::after{content:"";flex:none;width:.5em;height:.72em;border-radius:50%;background:linear-gradient(105deg,transparent 44%,var(--roast) 44% 56%,transparent 56%),var(--copper)}

/* меню */
.menu{padding:clamp(72px,9vw,140px) 0}
.lock{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);margin-bottom:clamp(2.5rem,5vw,4rem)}
.lock-word{font-size:clamp(5rem,2rem + 10vw,11rem);line-height:.8;padding-right:clamp(1rem,3vw,2.5rem);border-right:2px solid var(--ink)}
.lock-text{max-width:40ch}
.price{display:grid;grid-template-columns:3fr 2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.price h3{font-size:clamp(1.75rem,1.2rem + 1.5vw,2.5rem);border-bottom:3px solid var(--ink);padding-bottom:.5rem}
.price ul{list-style:none;padding:0}
.price li{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.row{display:flex;align-items:baseline;gap:.75rem;font:800 clamp(1.6rem,1.1rem + 1.6vw,2.6rem)/1 var(--fd)}
.dots{flex:1;min-width:1.5rem;border-bottom:3px dotted var(--ink);transform:translateY(-.15em)}
.pr{font-size:1.3em;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.price li p{color:var(--muted);margin-top:.4rem;font-size:1rem;max-width:46ch}
.price-note{margin-top:1.5rem;font-size:.9375rem;color:var(--muted)}

/* стикеры */
.facts{padding:clamp(80px,10vw,140px) 0 clamp(48px,6vw,80px)}
.facts h2{font-size:clamp(2.4rem,1.2rem + 4vw,5rem);max-width:14ch;margin-bottom:clamp(2rem,4vw,3.5rem)}
.stickers{list-style:none;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.stickers li{max-width:100%;margin-left:var(--x,0);padding:.45em .7em;background:var(--accent);color:var(--accent-ink);border-radius:2px;font:800 clamp(1.3rem,.9rem + 1.8vw,2.4rem)/1.05 var(--fd);text-transform:uppercase;letter-spacing:.01em;transform:rotate(var(--r,0deg))}
.stickers li:nth-child(1){--r:-1.5deg}
.stickers li:nth-child(2){--x:8%;--r:1deg}
.stickers li:nth-child(3){--x:18%;--r:-.5deg;background:var(--copper);color:var(--ink)}
.stickers li:nth-child(4){--x:28%;--r:1.2deg}
.stickers li:nth-child(5){--x:12%;--r:-1deg}

/* отзыв */
.quote{padding:clamp(48px,6vw,80px) 0 clamp(96px,12vw,180px)}
.quote blockquote p{font:800 clamp(2rem,1rem + 4vw,4.75rem)/1.02 var(--fd);letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.q-by{display:flex;align-items:center;gap:1rem;margin-top:2rem;color:var(--roast-muted)}
.q-by b{color:var(--on-roast)}
.ava{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--roast);font:900 1.6rem/1 var(--fd)}

/* адрес */
.where{padding:clamp(80px,10vw,140px) 0}
.where-grid{display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:var(--g)}
.where h2{font-size:clamp(2.2rem,1.2rem + 3vw,4rem);max-width:14ch}
.hours{font:900 clamp(4rem,2rem + 8vw,9rem)/.9 var(--fd);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:1.5rem 0 .5rem}
address{font-style:normal;margin-top:1.25rem}
address a{font-weight:700;display:inline-block;padding:.4rem 0}
.map{border:3px solid var(--ink)}
.map svg{display:block;width:100%;height:auto}
.bl{fill:rgba(36,22,15,.12)}
.st{fill:none;stroke:var(--ink);stroke-width:10;opacity:.35;stroke-linecap:round}
.st-b{stroke:var(--roast);stroke-width:30;opacity:1}
.route{fill:none;stroke:var(--bg);stroke-width:6;stroke-linecap:round}
.pin,.pin-m{fill:var(--accent);stroke:var(--bg);stroke-width:4}
.lb{font:700 17px var(--ft);fill:var(--ink)}
.lb-big{font:800 24px var(--fd)}
.lb-road{font:700 15px var(--ft);fill:var(--bg);dominant-baseline:middle}
.lb-m{font:800 20px var(--fd);fill:var(--accent-ink)}

/* бронь */
.book{padding:clamp(96px,12vw,170px) 0}
.book-grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,6vw,6rem)}
.book h2{font-size:clamp(2.2rem,1.2rem + 3.2vw,4.25rem)}
.book-aside p{margin-top:1.25rem;color:var(--roast-muted);max-width:40ch}
.tel-big{font:800 clamp(1.8rem,1.2rem + 1.6vw,2.6rem)/1 var(--fd);color:var(--on-roast);text-decoration:none}
.form{display:grid;gap:1rem}
.form label{display:grid;gap:.4rem;font-weight:600;font-size:.9375rem}
.form input,.form select,.form textarea{width:100%;min-height:48px;padding:.7rem .9rem;font:400 1.0625rem/1.3 var(--ft);color:var(--on-roast);background:transparent;border:2px solid rgba(227,166,55,.55);border-radius:2px;color-scheme:dark;transition:border-color .2s}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--on-roast)}
.form select option{background:var(--roast)}
.form ::placeholder{color:rgba(227,166,55,.6)}
.form :user-invalid{border-color:#FF9C8A}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form .consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400}
.consent input{width:22px;height:22px;min-height:0;margin-top:.1rem;accent-color:var(--bg)}
.err{color:#FFB4A6;font-weight:600}
.err:empty{display:none}
.form .btn{justify-self:start}
.small{font-size:.9375rem;color:var(--roast-muted)}
.ok{margin-top:1rem;padding:1.25rem;border:2px solid var(--on-roast);font-size:1.125rem}

/* подвал */
.foot{padding:3.5rem 0 2.5rem;color:var(--roast-muted);font-size:.9375rem;border-top:2px solid rgba(227,166,55,.3)}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:2rem}
.foot .logo{color:var(--on-roast);font-size:2.5rem;margin-bottom:.5rem}
.foot a{display:inline-block;padding:.3rem 0}
.privacy h2{font:700 1rem/1.3 var(--ft);color:var(--on-roast);margin-bottom:.4rem}
.foot-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem 2rem;padding-top:1.25rem;border-top:1px solid rgba(227,166,55,.25)}

@media (max-width:900px){
  .burger{display:grid}
  .nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--g) 2rem;background:var(--bg);box-shadow:0 2px 0 var(--ink);transform:translateY(-110%);visibility:hidden;transition:transform .25s var(--ease),visibility .25s}
  .nav.open{transform:none;visibility:visible}
  .nav a{padding:1rem 0;font-size:1.25rem;border-bottom:1px solid var(--line)}
  .nav .nav-cta{margin-top:1rem;text-align:center;border:0}
  .hero-grid,.where-grid,.book-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .lock{grid-template-columns:auto 1fr}
  .lock .btn{grid-column:1/-1;justify-self:start}
  .price{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .stickers li:nth-child(2){--x:4%}.stickers li:nth-child(3){--x:8%}.stickers li:nth-child(4){--x:12%}.stickers li:nth-child(5){--x:6%}
}
@media (max-width:480px){
  .lock{grid-template-columns:1fr}
  .lock-word{border-right:0;padding-right:0}
  .lock-text{border-left:2px solid var(--ink);padding-left:1rem}
  .two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}