@font-face{font-family:Golos;src:url('../assets/golos-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Golos;src:url('../assets/golos-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('../assets/manrope-300.ttf') format('truetype');font-weight:300;font-display:swap}

:root{
  --sand:#c7a36c;
  --sand-deep:#b58e59;
  --cream:#fffdf2;
  --paper:#f7f4eb;
  --ink:#33372b;
  --muted:#73786a;
  --line:rgba(51,55,43,.18);
  --yellow:#f3ec83;
  --olive:#626e4c;
  --dark:#30382b;
}

*{box-sizing:border-box}
html{min-width:0;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Golos,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button{border:0;color:inherit;font:inherit;cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400;text-wrap:balance}
a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}
.skip-link{position:fixed;z-index:20;top:-100px;left:20px;padding:12px 16px;background:var(--dark);color:var(--cream)}
.skip-link:focus{top:12px}

.hero{min-height:880px;background:var(--sand);color:var(--cream);overflow:hidden}
.hero-inner{position:relative;width:min(1440px,100%);height:880px;margin:0 auto;padding:0 36px}
.site-nav{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;height:94px}
.brand{display:flex;position:relative;flex-direction:column;align-items:flex-start;min-width:190px;padding-bottom:16px}
.brand-name{font-size:38px;font-weight:600;letter-spacing:-2.4px;line-height:.9}
.brand-name span{color:var(--yellow)}
.brand-caption{position:absolute;bottom:0;left:1px;font-size:12px;letter-spacing:1.4px;line-height:1.2}
.primary-nav{display:flex;align-items:center;gap:34px;margin-left:110px;font-size:16px}
.primary-nav a{padding:12px 0;border-bottom:1px solid transparent;transition:border-color 180ms ease,color 180ms ease}
.primary-nav a:hover{border-color:currentColor;color:var(--yellow)}
.nav-book{min-height:46px;padding:0 20px;border:1px solid rgba(255,253,242,.48);border-radius:999px;background:rgba(255,255,255,.06);font-size:16px;transition:background 180ms ease,transform 180ms ease}
.nav-book:hover{background:rgba(255,255,255,.16)}
.nav-book:active,.menu-cta:active,.dark-button:active{transform:scale(.96)}

.hero-word{position:absolute;z-index:1;top:74px;left:0;width:100%;overflow:hidden;color:var(--cream);font-family:Manrope,Arial,sans-serif;font-size:410px;font-weight:300;letter-spacing:20px;line-height:1;text-align:center;white-space:nowrap;pointer-events:none}
.hero-copy{position:absolute;z-index:5;top:438px;left:66px;width:352px}
.eyebrow,.section-kicker{font-size:12px;letter-spacing:1.2px;line-height:1.4}
.hero-copy h1{margin-top:17px;font-family:Georgia,'Times New Roman',serif;font-size:45px;letter-spacing:-1.8px;line-height:1.12}
.hero-copy h1 em,.story h2 em,.contacts h2 em,.booking-dialog h2 em{font-style:italic;color:var(--yellow)}
.hero-description{max-width:300px;margin-top:20px;font-size:16px;line-height:1.6;color:rgba(255,253,242,.8);text-wrap:pretty}
.menu-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:46px;margin-top:27px;padding:0 17px;border-radius:999px;background:var(--yellow);color:var(--dark);font-size:16px;font-weight:600;transition:background 180ms ease,transform 180ms ease}
.menu-cta:hover{background:#fff9a7}
.menu-cta span{font-size:20px;font-weight:400;line-height:1}

.hero-scene{position:absolute;z-index:2;top:236px;left:18%;width:69%;height:570px;pointer-events:none}
.hero-scene img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-card{position:absolute;z-index:6;top:486px;right:39px;display:flex;flex-direction:column;align-items:center;width:132px;padding:5px 5px 13px;background:var(--cream);color:var(--ink);text-align:center;box-shadow:0 11px 24px rgba(67,49,27,.08)}
.hero-card img{width:122px;height:85px;object-fit:cover}
.hero-card p{margin-top:12px;font-size:12px;letter-spacing:.2px;line-height:1.35}
.hero-card strong{font-weight:600}
.hero-card-line{display:block;width:38px;height:1px;margin-top:13px;background:var(--olive);transform:rotate(-20deg)}
.hero-bottom{position:absolute;z-index:6;right:37px;bottom:27px;left:66px;display:flex;align-items:flex-end;justify-content:space-between}
.hero-address{font-size:16px;letter-spacing:.8px;line-height:1.7;text-wrap:pretty}
.hero-summary{text-align:center;font-size:16px;line-height:1.7;text-wrap:pretty}
.scroll-link{display:flex;align-items:center;gap:13px;min-height:50px;padding:0 15px;border:1px solid rgba(255,253,242,.45);border-radius:999px;font-size:16px;white-space:nowrap;transition:background 180ms ease,transform 180ms ease}
.scroll-link:hover{background:rgba(255,255,255,.12)}
.scroll-link:active{transform:scale(.96)}
.scroll-link span{font-size:19px;line-height:1}

.story{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px;max-width:1280px;margin:0 auto;padding:112px 40px 124px;background:var(--paper)}
.story-aside{position:relative;padding-top:5px}
.story-aside .section-kicker{color:var(--olive)}
.story-photo{position:relative;width:100%;height:360px;margin:24px 0 0;overflow:hidden;border-radius:132px 132px 8px 8px;background:#d2c3a6;box-shadow:0 14px 34px rgba(53,48,36,.12);transform:rotate(-2deg)}
.story-photo img{width:100%;height:100%;object-fit:cover;object-position:center bottom;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;transform:scale(1.12);transform-origin:center bottom}
.story-photo::after{position:absolute;inset:70% 0 0;background:rgba(33,39,28,.22);content:''}
.story-photo figcaption{position:absolute;z-index:1;right:16px;bottom:18px;left:16px;display:flex;justify-content:space-between;color:var(--cream);font-size:12px;letter-spacing:.7px}
.story-note{position:absolute;z-index:2;bottom:-43px;left:-5px;color:#bb6b3d;font-family:Georgia,'Times New Roman',serif;font-size:25px;font-style:italic;line-height:1;transform:rotate(-8deg)}
.story-content{padding-top:54px}
.story-content h2,.menu-preview h2,.contacts h2{font-family:Georgia,'Times New Roman',serif;font-size:42px;letter-spacing:-1.8px;line-height:1.13}
.story-content h2 em{color:#89927f}
.story-content>p{max-width:760px;margin-top:24px;color:var(--muted);font-size:16px;line-height:1.75;text-wrap:pretty}
.story-points{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}
.story-points div{display:flex;flex-direction:column;gap:14px}
.story-points span{color:#c2764c;font-size:12px;letter-spacing:.8px}
.story-points strong{font-size:16px;font-weight:600;line-height:1.4}
.story-points small{color:#6d7466;font-size:16px;line-height:1.7;text-wrap:pretty}

.menu-preview{padding:96px 0 105px;background:#ebe7dc}
.menu-preview-inner,.menu-teasers{width:min(1120px,calc(100% - 80px));margin:0 auto}
.menu-preview-inner{display:flex;align-items:flex-end;justify-content:space-between}
.menu-preview h2{margin-top:16px}
.plain-link{display:inline-flex;align-items:center;gap:17px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:16px;transition:color 180ms ease,transform 180ms ease}
.plain-link:hover{color:var(--olive);transform:translateY(-2px)}
.plain-link:active{transform:scale(.96)}
.plain-link span{font-size:18px;line-height:1}
.menu-teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.menu-teasers article{overflow:hidden;background:var(--cream);border-radius:7px;box-shadow:0 8px 24px rgba(53,48,36,.06)}
.menu-teasers img{width:100%;height:220px;object-fit:cover;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;transition:transform 320ms ease}
.menu-teasers article:hover img{transform:scale(1.03)}
.menu-teasers p{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;font-size:16px;text-wrap:pretty}
.menu-teasers p span{color:var(--muted);font-size:12px;white-space:nowrap}

.contacts{display:flex;align-items:center;justify-content:space-between;width:min(1120px,calc(100% - 80px));min-height:315px;margin:0 auto;padding:50px 48px;border-radius:7px;background:var(--yellow)}
.contacts h2{margin-top:18px;font-size:49px}
.contacts h2 em{color:var(--olive)}
.dark-button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:46px;padding:0 18px;border-radius:4px;background:var(--dark);color:var(--cream);font-size:16px;transition:background 180ms ease,transform 180ms ease}
.dark-button:hover{background:#48553d}
.site-footer{display:flex;justify-content:space-between;width:min(1120px,calc(100% - 80px));margin:0 auto;padding:30px 0 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

dialog{border:0;border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px rgba(38,37,27,.28)}
dialog::backdrop{background:rgba(35,39,28,.68)}
.booking-dialog{position:relative;width:min(540px,calc(100% - 40px));padding:48px}
.dialog-close{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:transparent;font-size:26px;line-height:1;transition:background 180ms ease,transform 180ms ease}
.dialog-close:hover{background:#e8e4d8}
.dialog-close:active{transform:scale(.96)}
.booking-dialog h2{margin-top:19px;font-family:Georgia,'Times New Roman',serif;font-size:37px;letter-spacing:-1.2px;line-height:1.13}
.booking-dialog>p:not(.section-kicker){margin-top:20px;color:var(--muted);font-size:16px;line-height:1.65}
.dialog-phone{width:100%;margin-top:27px}
.booking-dialog .plain-link{margin-top:22px;font-size:16px}

@media (max-width:1050px){
  .hero-inner{padding:0 28px}
  .primary-nav{gap:22px;margin-left:30px}
  .hero-copy{left:45px}
  .hero-card{right:26px}
  .hero-bottom{right:26px;left:45px}
  .hero-summary{margin-left:60px}
}

@media (max-width:760px){
  .hero{min-height:760px}
  .hero-inner{height:760px;padding:0 20px}
  .site-nav{height:80px}
  .brand{min-width:auto}
  .brand-name{font-size:31px}
  .primary-nav{display:none}
  .nav-book{min-height:40px;padding:0 13px;font-size:16px}
  .hero-word{top:125px;font-size:170px;letter-spacing:5px;text-align:left}
  .hero-copy{top:390px;left:28px;width:260px}
  .hero-copy h1{font-size:34px}
  .hero-description{font-size:16px}
  .hero-scene{top:196px;left:7%;width:92%;height:420px}
  .hero-card{top:468px;right:19px;width:108px}
  .hero-card img{width:98px;height:65px}
  .hero-card p{font-size:12px}
  .hero-bottom{right:20px;bottom:18px;left:28px;align-items:flex-start}
  .hero-summary{display:none}
  .scroll-link{font-size:16px}
  .story{display:block;padding:74px 28px 80px}
  .story-aside{max-width:260px}
  .story-photo{height:330px}
  .story-note{bottom:-36px;left:0;font-size:23px}
  .story-content{margin-top:54px;padding-top:0}
  .story-content h2,.menu-preview h2{font-size:34px}
  .story-points{grid-template-columns:1fr;gap:20px}
  .menu-preview{padding:72px 0 76px}
  .menu-preview-inner,.menu-teasers,.contacts,.site-footer{width:calc(100% - 56px)}
  .menu-preview-inner{display:block}
  .menu-preview-inner .plain-link{margin-top:24px}
  .menu-teasers{grid-template-columns:1fr;margin-top:32px}
  .menu-teasers img{height:210px}
  .contacts{display:block;min-height:0;padding:36px 28px 40px}
  .contacts h2{font-size:39px}
  .contacts .dark-button{margin-top:28px}
  .site-footer{font-size:12px}
}
