html, body { font-family: var(--font-family-body); }
/* Navigation stays sticky through its semantic header wrapper. */
.site-header { position: sticky; top: 0; z-index: 1000; width: 100%; }
.site-header .navigation-section { position: static; }
.navigation-section.is-open .navigation-mobile-overlay { display: flex; flex-direction: column; }
.navigation-mobile-overlay[aria-hidden="true"] { display: none !important; }
body.mobile-nav-open { overflow: hidden; }
.navigation-hamburger, .navigation-close { border: 0; padding: 0; background: transparent; cursor: pointer; }
.navigation-actions, .navigation-brand, .navigation-overlay-header { min-width: 0; }
.navigation-section a, .liqorena-footer-nav a { cursor: pointer; }
.navigation-overlay-link:hover, .navigation-overlay-link:focus-visible { color: var(--color-secondary); }
.navigation-cta { cursor: pointer; }
.navigation-mobile-overlay { height: 100dvh; max-height: 100dvh; min-height: 0; overscroll-behavior: contain; }
.navigation-overlay-links { overflow-y: auto; min-height: 0; }
.navigation-overlay-header { flex-shrink: 0; }
.navigation-section a:focus-visible, .navigation-section button:focus-visible { outline: 2px solid var(--color-secondary); outline-offset: 4px; }
.skip-to-main { position:absolute; z-index:2000; left:1rem; top:-5rem; padding:.7rem 1rem; background:var(--color-primary); color:var(--color-on-primary); border-radius:.4rem; }
.skip-to-main:focus { top:.5rem; }
main { width: 100%; min-width: 0; }
main > section, .legal-document, .contact-page { min-width: 0; }
img { max-width:100%; }
body { overflow-wrap: break-word; }
.navigation-brand, .navigation-cta, .company-logo-text-group { overflow-wrap: normal; }
.liqorena-footer-contact-item:not(a), .liqorena-footer-legal-stack [data-company], .liqorena-footer-legal-stack [data-address] { cursor: text; }
.liqorena-footer-contact-item:not(a):hover { transform: none; color: var(--color-on-primary); }
.liqorena-footer-legal-pages { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.liqorena-footer-legal-pages a { color:var(--color-on-primary); opacity:.82; text-underline-offset:3px; font-size:var(--font-size-xs); text-decoration:underline; }
.liqorena-footer-legal-pages a:hover { color: var(--color-accent); opacity:1; }
.liqorena-footer-address [data-company] { font-weight: 600; }
/* Gallery keeps existing tiles and layout but adds input methods. */
.gallery-portfolio-strip-wrap { overscroll-behavior-inline:contain; cursor:grab; }
.gallery-portfolio-strip img { -webkit-user-drag: none; user-select:none; }
.gallery-portfolio-strip-wrap.is-dragging { cursor:grabbing; user-select:none; }
.gallery-portfolio-strip-wrap:focus-visible { outline:2px solid var(--color-secondary); outline-offset:-3px; }
/* Legal pages inherit the site's editorial type and palette. */
.legal-document { background:var(--color-surface); color:var(--color-on-surface); padding: clamp(2.4rem,5vw,4.5rem) var(--spacing-xl); }
.legal-inner { max-width:860px; margin:0 auto; }
.legal-eyebrow, .contact-kicker { font-family:var(--font-family-body); text-transform:uppercase; font-size:var(--font-size-xs); font-weight:600; letter-spacing:.14em; color:var(--color-secondary); }
.legal-document h1 { margin:.7rem 0 .5rem; font-size:clamp(2.15rem,5vw,3.8rem); line-height:1.12; color:var(--color-primary); font-family:var(--font-family-heading); font-weight:600; }
.legal-revision { font-size:.9rem; color:var(--color-on-surface-secondary); }
.legal-lead { font-size:var(--font-size-lg); line-height:1.65; margin:1.1rem 0 2.3rem; color:var(--color-on-surface-secondary); }
.legal-section { margin:0 0 2rem; }
.legal-section h2 { font-family:var(--font-family-heading); color:var(--color-primary); line-height:1.25; font-size:clamp(1.3rem,2.8vw,1.72rem); font-weight:600; margin:0 0 .7rem; }
.legal-section p { margin:.65rem 0; line-height:1.8; color:var(--color-on-surface); }
.legal-section a, .contact-faq a { color:var(--color-secondary); text-decoration:underline; text-underline-offset:3px; }
.legal-section [data-address] { overflow-wrap:anywhere; }
.legal-actions { display:flex; flex-wrap:wrap; gap:1.25rem; align-items:center; padding:2rem 0 1rem; border-top:var(--divider-value); }
.legal-secondary { text-decoration:underline; text-underline-offset:3px; color:var(--color-primary); }
/* Contact page integrates with the established warm, restrained design. */
.contact-hero { padding:clamp(4rem,11vw,8rem) var(--spacing-xl); background:var(--color-surface-tint); text-align:center; }
.contact-hero-inner { max-width:740px; margin:0 auto; }
.contact-hero h1 { font:600 clamp(2.2rem,6vw,4.25rem)/1.13 var(--font-family-heading); color:var(--color-primary); margin:1rem 0 1.4rem; }
.contact-hero p:not(.contact-kicker) { font-size:var(--font-size-lg); color:var(--color-on-surface-secondary); margin:0 auto 2rem; max-width:630px; }
.contact-inner { max-width:var(--content-max-width); margin:auto; }
.contact-details, .contact-faq { padding:clamp(2.5rem,6vw,5rem) var(--spacing-3xl); }
.contact-intro { max-width:650px; }
.contact-details h2, .contact-faq h2 { font:600 clamp(1.8rem,4vw,2.6rem)/1.2 var(--font-family-heading); margin:.7rem 0 1rem; color:var(--color-primary); }
.contact-intro > p:last-child { color:var(--color-on-surface-secondary); max-width:650px; }
.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--spacing-xl); margin-top:var(--spacing-3xl); }
.contact-card { min-width:0; border:var(--divider-value); background:var(--color-surface); padding:clamp(1.2rem,2vw,2rem); border-radius:var(--border-radius-card); box-shadow:var(--shadow-level-1); }
.contact-card h3 { font:600 1.35rem/1.3 var(--font-family-heading); color:var(--color-primary); margin:0 0 1rem; }
.contact-card p { color:var(--color-on-surface-secondary); line-height:1.7; margin:.4rem 0; overflow-wrap:anywhere; }
.contact-card .contact-highlight { font-weight:600; font-size:1.1rem; color:var(--color-on-surface); }
.contact-faq { background:var(--color-surface-tint); }
.contact-faq-items { max-width:800px; display:grid; gap:.85rem; padding-top:1rem; }
.contact-faq details { background:var(--color-surface); border:var(--divider-value); border-radius:var(--border-radius-card); padding:1rem 1.4rem; }
.contact-faq summary { cursor:pointer; color:var(--color-primary); font-weight:600; font-size:1.05rem; }
.contact-faq details p { margin-top:.8rem; line-height:1.7; color:var(--color-on-surface-secondary); }
.contact-back { display:inline-block; margin-top:2rem; color:var(--color-primary); text-decoration:underline; text-underline-offset:3px; }
@media (min-width:768px) and (max-width:991px) { .navigation-actions > .navigation-cta { display:none; } }
@media (max-width:991px) { .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
 .navigation-overlay-header { padding:var(--spacing-md) var(--spacing-xl); }
 .navigation-container { min-height:5rem; gap:.7rem; }
 .navigation-actions { margin-left:auto; flex-shrink:0; }
 .navigation-overlay-links { gap:var(--spacing-lg); }
 .contact-grid { grid-template-columns:1fr; }
 .contact-details,.contact-faq { padding:var(--spacing-3xl) var(--spacing-xl); }
 .legal-document { padding:var(--spacing-3xl) var(--spacing-xl); }
 .legal-actions .btn { width:100%; }
 .gallery-portfolio-strip-wrap { padding-inline:var(--spacing-xl); }
}
@media (max-width:360px) {
 .navigation-container { padding-inline:var(--spacing-md); }
 .navigation-overlay-header { padding-inline:var(--spacing-md); }
 .company-logo-mark { width:30px; height:30px; }
 .company-logo-name { font-size:.99rem; }
 .company-logo-tagline { font-size:.5rem; }
 .navigation-hamburger,.navigation-close { width:40px;height:40px; }
 .navigation-overlay-link { font-size:1.48rem; }
 .tea-spotlight-actions > a { max-width:100%; width:100%; }
 .tea-spotlight-actions .tea-spotlight-btn { width:100%; max-width:100%; white-space:normal; text-align:center; line-height:1.35; padding-block:.7rem; }
 .liqorena-footer-inner { padding-inline:var(--spacing-lg); }
 .legal-document { padding-inline:var(--spacing-lg); }
 .contact-hero,.contact-details,.contact-faq { padding-inline:var(--spacing-lg); }
}
