/* Newsreader is the readable web font (SIL OFL).
   Floridian Script and Caslon Ionic Rounded are fixed editorial illustrations
   made from Lisbeth's supplied kit. Proprietary font binaries remain private. */
@font-face{font-family:'Largo Newsreader';src:url('assets/fonts/Newsreader14-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Largo Newsreader';src:url('assets/fonts/Newsreader14-Italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
:root{font-family:'Largo Newsreader',Georgia,serif;font-synthesis:none}
body{font-size:18px;line-height:1.6}
.canvas-h2,.canvas-centered h1,.canvas-centered h2,.canvas-reservation h1,.canvas-reservation h2,.canvas-split h2,.canvas-contact-band h2,.gallery-heading h2,.canvas-concept h2{font-family:'Largo Newsreader',Georgia,serif;font-size:32px;font-weight:400;line-height:1.2;text-transform:none}
.canvas-reservation h2{font-size:25px}
.canvas-statement h2{font:400 28px/1.5 'Largo Newsreader',Georgia,serif;text-transform:none}
.canvas-centered p,.canvas-split p,.canvas-contact-band p,.faq-answer,.reservation-policy{font-size:18px;line-height:1.65}
.canvas-photo-quote h2{font:400 42px/1.25 'Largo Newsreader',Georgia,serif;text-transform:none}
.canvas-header .desktop-nav{font-size:18px}
.canvas-header .languages,.landing-languages .languages{font-size:12px}
.button,.floating-book{font-family:'Largo Newsreader',Georgia,serif;font-size:15px;font-weight:400;letter-spacing:.035em}
.nav-trigger,.nav-close{font-size:17px}
.navigation-overlay nav{font-size:25px}
.navigation-overlay nav.languages{font-size:14px}
.overlay-email{font-size:16px}
.faq-item summary{font-family:'Largo Newsreader',Georgia,serif;font-size:20px;font-weight:400;text-transform:none}
.hours li{font-size:17px}
.site-footer{font-size:15px;text-transform:none}
.footer-note{font-size:11px}
.menu-tabs{flex-wrap:wrap;gap:12px 30px}
.menu-tabs button,.canvas-concept [role=tab]{font-size:18px}
.menu-sheet>a{font-size:15px}
.menu-book .gallery-count{font-size:13px}
.canvas-faq-hero h1.sr-only{margin:0}
/* Finished vector lettering made with Stamp RSPK One Medium.
   The licensed source font stays private; semantic text remains accessible. */
.stamp-art{display:inline-block;max-width:100%;height:auto;vertical-align:middle}
.brand-art{display:inline-block;max-width:100%;height:auto;vertical-align:middle}
h1.art-floridian,h2.art-floridian{font-size:54px;line-height:1.1}
h1.art-caslon,h2.art-caslon{font-size:30px;line-height:1.3}
.reservation-policy h2.art-caslon{font-size:27px}
.has-brand-art{position:relative}
.menu-tabs .art-acumin,.canvas-concept [role=tab].art-acumin{font-size:21px}
h2.art-acumin{font-size:36px;line-height:1.3}
.footer-note.art-acumin{font-size:17px}
.canvas-photo-quote .brand-art{filter:brightness(0) invert(1)}
.faq-item summary .brand-art{max-width:calc(100% - 40px);min-width:0;flex-shrink:1}
#questions{scroll-margin-top:95px}
/* Original PNGs retain their pixels and transparency; frame the ink bounds. */
.logo.brand-logo{display:block;position:relative;overflow:hidden;height:auto;filter:none}
.brand-logo img{position:absolute;display:block;max-width:none;height:auto}
.brand-logo.ink img,.canvas-header.scrolled .brand-logo.gold img{filter:brightness(0)}
.canvas-header .brand{width:104px}
.canvas-hero-logo{display:flex;flex-direction:column;align-items:center;gap:30px;width:380px;max-width:72vw}
.entrance-title .brand-logo{width:min(335px,34vw)}
.entrance-title{gap:28px}
.brand-signature{display:block;font-size:19px;line-height:1.3;max-width:100%}
.brand-signature .brand-art{filter:brightness(0) invert(1)}
.brand-logo.gold{filter:drop-shadow(0 2px 5px #1a100b55)}
.canvas-header .brand-logo.gold{filter:none}
.brand-ornament{display:inline-flex;align-items:center;justify-content:center;width:36px}
.brand-ornament img{display:block;width:100%;height:auto}
.brand-ornament.floral{width:42px}
.canvas-mark .brand-ornament.floral{width:46px}
.brand-punctuation .brand-ornament{width:27px}
.button .stamp-art,.floating-book .stamp-art{filter:invert(1)}
.button.outline .stamp-art{filter:none}
.has-stamp:not(.floating-book){position:relative}
@media(max-width:900px){.canvas-header .desktop-nav{font-size:16px;gap:18px}}
@media(max-width:650px){
 .canvas-centered h1,.canvas-centered h2,.canvas-split h2,.canvas-contact-band h2,.gallery-heading h2,.canvas-concept h2,.canvas-reservation h1{font-size:28px}
 .canvas-reservation h2{font-size:23px}
 .canvas-centered p,.canvas-split p,.canvas-contact-band p,.faq-answer,.reservation-policy{font-size:18px}
 .canvas-statement h2{font-size:24px}
 .canvas-photo-quote h2{font-size:34px}
 .navigation-overlay nav{font-size:23px}
 .navigation-overlay nav.languages{font-size:13px}
 .mobile-languages .languages{font-size:11px}
 .faq-item summary{font-size:19px}
 .hours li{font-size:16px;gap:15px}
 .floating-book{font-size:14px;display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:calc(100vw - 36px);padding:12px 18px;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px))}
 .site-footer{font-size:14px}
 .footer-note{font-size:10px}
 .menu-tabs{gap:8px 22px}
 .menu-tabs button{font-size:16px}
 .canvas-concept [role=tab]{font-size:15px}
 h1.art-floridian,h2.art-floridian{font-size:46px}
 h1.art-caslon,h2.art-caslon{font-size:27px}
 .reservation-policy h2.art-caslon{font-size:24px}
 .canvas-header .brand{width:94px}
 .canvas-hero-logo{width:300px;max-width:76vw}
 .entrance-title .brand-logo{width:230px;max-width:70vw}
 .entrance-title{gap:21px}
 .entrance-title>.brand-signature,.brand-signature{font-size:16px}
 .menu-tabs .art-acumin{font-size:20px}
 .canvas-concept [role=tab].art-acumin{font-size:18px}
 h2.art-acumin{font-size:28px}
 .footer-note.art-acumin{font-size:15px}
}
