/* Base resets and accessibility */
html { box-sizing: border-box; scroll-behavior: smooth; }
*,*::before,*::after { box-sizing: inherit; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 3px solid #c6a58e; outline-offset: 2px; }
.container { width: min(100% - 2rem, 1120px); margin-inline: auto; }
/* Generic icon class for svg and img */
.icon { width: 1em; height: 1em; vertical-align: -.125em; }
svg.icon path, svg.icon line, svg.icon rect, svg.icon circle { vector-effect: non-scaling-stroke; }

/* Icon sizing in specific contexts */
.btn .icon { width: 1em; height: 1em; margin-inline-end: .4em; }
[dir="rtl"] .btn .icon { margin-inline-end: 0; margin-inline-start: .4em; }
.nav a .icon { width: .9em; height: .9em; margin-inline-end: .35em; opacity: .75; }
.site-footer .icon { width: 16px; height: 16px; margin-inline-end: .35em; }

