/* Shared reading scale. CMS colors, typeface and body-size remain editable. */
:root{--reading-font:Arial,'Noto Sans Georgian',sans-serif;--body-font:var(--reading-font);--sans:var(--reading-font);--type-body:var(--body-size,1.0625rem);--type-h1:clamp(2.5rem,1.7rem + 3vw,4.5rem);--type-h2:clamp(2rem,1.55rem + 1.6vw,3rem);--type-h3:clamp(1.5rem,1.25rem + .7vw,1.875rem);--type-h1-ka:clamp(2rem,1.45rem + 2.25vw,3.5rem);--type-h2-ka:clamp(1.625rem,1.35rem + 1.05vw,2.25rem);--type-h3-ka:clamp(1.25rem,1.12rem + .55vw,1.625rem)}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--reading-font);font-size:var(--type-body);line-height:1.75}
button,input,select,textarea{font-family:var(--reading-font);line-height:1.5}
input,select,textarea{font-size:max(1rem,var(--type-body))}
#main :is(h1,h2,h3){font-family:var(--heading-font);font-weight:500;letter-spacing:0;line-height:1.2;text-wrap:balance;overflow-wrap:anywhere;margin-bottom:1.25rem}
#main h1{font-size:var(--type-h1)}
#main h2{font-size:var(--type-h2)}
#main h3{font-size:var(--type-h3)}
#main :is(h1,h2,h3):lang(ka){line-height:1.4}
#main h1:lang(ka){font-size:var(--type-h1-ka)}
#main h2:lang(ka){font-size:var(--type-h2-ka)}
#main h3:lang(ka){font-size:var(--type-h3-ka)}
#main :is(p,li,td,th,dt,dd){font-family:var(--reading-font);font-size:var(--type-body);line-height:1.75;overflow-wrap:anywhere}
#main :is(p,li,td,th,dt,dd):lang(ka){line-height:1.85}
#main p{max-width:70ch;margin-bottom:1.25rem}
#main :is(.eyebrow,.breadcrumb,.form-note,#search-count),#main .guest-reviews cite,#main td small,#main figcaption{font-family:var(--reading-font);font-size:.875rem;line-height:1.6}
#main .eyebrow{letter-spacing:.12em}
#main .eyebrow:lang(ka){letter-spacing:.025em}
#main :is(.button,.text-link,.service-link,.faq summary,.policy-language>summary){font-size:1rem;line-height:1.6}
#main .service-link{font-family:var(--reading-font)}
#main .item-number{font-size:.875rem}
#main :is(.page-intro h1,.detail-title h1){max-width:22ch}
#main .legacy-copy :is(h2,h3){margin-top:1.6em}
#main .story-section>h2:first-child{margin-top:0}
#main .legacy-copy :is(p,li){max-width:70ch}
#main .legacy-copy :is(th,td){padding:1rem;line-height:1.6}
#main .hero{height:auto;min-height:clamp(34rem,75svh,49rem);max-height:none}
#main .hero-content{min-height:inherit;height:auto;padding-top:5rem;padding-bottom:7rem}
#main .hero h1{font-size:clamp(3.25rem,2.4rem + 4vw,7rem);line-height:1.06;max-width:16ch}
#main .hero h1:lang(ka){font-size:clamp(2.25rem,1.7rem + 2.8vw,4.5rem);line-height:1.4;max-width:19ch}
#main .hero-scroll{font-size:1rem;line-height:1.6}
#main .collection-hero{min-height:31rem}
#main .collection-hero h2{font-size:var(--type-h3);max-width:32ch}
#main .collection-hero h2:lang(ka){font-size:var(--type-h3-ka)}
#main :is(.collection-card figcaption,.discovery-caption){font:500 var(--type-h3)/1.35 var(--heading-font);overflow-wrap:anywhere}
#main :is(.collection-card figcaption,.discovery-caption):lang(ka){font-size:var(--type-h3-ka);line-height:1.55}
#main .booking-strip{gap:1rem}
#main .booking-strip>div{min-width:0}
#main .booking-strip>div>span{font:400 .875rem/1.6 var(--reading-font)}
#main .booking-strip strong,#main .booking-strip>div>a{font:500 1rem/1.6 var(--reading-font);overflow-wrap:anywhere}
#main .booking-strip .button{font:500 1rem/1.5 var(--reading-font)}
#main .story-nav>a{font:400 .875rem/1.65 var(--reading-font);white-space:normal}
#main .concierge-card h2{font-size:1.75rem;line-height:1.35;max-width:none}
#main .concierge-card h2:lang(ka){font-size:1.375rem;line-height:1.5}
#main .concierge-card p{font-size:1rem;line-height:1.75}
#main .contact-link{font-size:1.125rem;line-height:1.7}
.desktop-nav,.desktop-nav>.nav-group>summary,.nav-pop a,.menu-grid a,.header-book{font-family:var(--reading-font);font-size:1rem;line-height:1.5}
.header-location,.language-note,.language{font-size:.875rem;line-height:1.5}
.menu-grid summary{font-size:1.25rem;line-height:1.6}
footer p,footer a:not(.brand){font-size:1rem;line-height:1.75}
.footer-bottom,.footer-bottom a:not(.brand),.share-status{font-size:.875rem;line-height:1.6}
.restaurant-app,html[lang=ka] .restaurant-app{font:1rem/1.75 var(--reading-font)}
.restaurant-app :is(p,button,label,legend,input,select,textarea){font-family:var(--reading-font)}
.restaurant-app .r-intro h1{font-size:var(--type-h1);line-height:1.2}
.restaurant-app .r-intro h1:lang(ka){font-size:var(--type-h1-ka);line-height:1.4}
.restaurant-app .r-intro p:last-child,.restaurant-app .r-dish p,.restaurant-app .r-empty{font-size:1rem;line-height:1.75}
.restaurant-app .r-dish h3{font-size:1.125rem;line-height:1.6}
.restaurant-app .r-section-heading h2,.restaurant-app .r-cart h2{font-size:1.375rem;line-height:1.5}
.restaurant-app :is(.r-kicker,.r-small,.r-minimum,.r-tag,.r-category,.r-add,.r-secondary,.r-primary,.r-cart label,.r-cart legend,.r-cart-line h3,.r-total-line,.r-footer,.r-section-heading span){font-size:.875rem;line-height:1.6}
.restaurant-app input,.restaurant-app textarea{font-size:1rem}
.restaurant-app .r-mobile-cart{font-size:1rem;line-height:1.5}
.restaurant-app .r-total-line.grand{font-size:1.125rem}
.cms-admin{font:1rem/1.75 var(--reading-font)}
.cms-admin :is(.page-heading h1,.editor-top h1){font-size:clamp(1.5rem,1.25rem + 1vw,2rem);line-height:1.5;letter-spacing:0}
.cms-admin :is(.page-heading p,.backup-card p,.help,.warning,.seo-guidance){font-size:1rem;line-height:1.8}
.cms-admin :is(label,.field-label,.color-field,.primary,.secondary,.small-button,.nav-item,.tabs button,.count-line,.summary-box span,.sidebar-label,.topbar,.environment){font-size:.875rem;line-height:1.6}
.cms-admin :is(input,select,textarea){font-size:1rem}
.cms-admin :is(.primary,.secondary,.small-button){white-space:normal}
@media(max-width:1100px){#main .booking-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){#main .detail-heading{grid-template-columns:minmax(0,1fr);gap:1.75rem}#main .detail-lead p{max-width:70ch}#main .story-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}#main .story-sidebar{position:static;max-height:none;overflow:visible;padding:0}#main .story-nav{display:flex;overflow:auto;gap:.625rem;padding:0 0 .75rem;border:0}#main .story-nav>a{flex:0 0 auto;max-width:16rem;padding:.625rem .875rem;border:1px solid var(--line);border-radius:2rem}#main .story-nav>.eyebrow{display:none}}
@media(max-width:700px){#main .section{padding-block:3.25rem}#main .page-intro{padding-block:1.75rem}#main .legacy-copy .story-section,#main .source-section,#main .collection-outro{padding:1.5rem 1.25rem}#main .story-practical:before{left:1.25rem}#main .collection-hero-content{padding-block:2rem 2.5rem}#main .collection-hero .breadcrumb{margin-bottom:2.25rem}#main .booking-strip{gap:1rem .625rem}#main .booking-strip .button{padding-inline:.625rem}.cms-admin .topbar{flex-wrap:wrap;gap:.625rem}.cms-admin .environment{white-space:normal}}
@media(max-width:380px){.site-header .brand span{font-size:1.4rem}.restaurant-app .r-dish{grid-template-columns:minmax(0,1fr) 5.25rem}}

/* Long addresses and text enlargement must not widen the page. */
.footer-grid>*{min-width:0}footer :is(a,p){overflow-wrap:anywhere}
@media(max-width:700px){.header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;height:auto;min-height:74px;padding-block:14px}.header-inner>.brand{max-width:100%}.header-inner>.brand span{max-width:100%;white-space:normal;overflow-wrap:anywhere}.header-actions{margin-left:auto}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
