*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-display);color:var(--text-heading);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);font-variation-settings:var(--fraunces-heading);margin:0}
h1{font-size:var(--fs-h1);letter-spacing:var(--ls-display);line-height:var(--lh-display)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-weight:var(--fw-heading)}
h4{font-size:var(--fs-h4);font-weight:var(--fw-heading-em);font-variation-settings:var(--fraunces-inline)}
p{margin:0;max-width:var(--measure-prose)}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid rgba(168,137,95,.4);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--accent-press);border-bottom-color:var(--accent-press)}
[data-theme="dark"] a{color:var(--bronze-300);border-bottom-color:rgba(198,172,132,.4)}
[data-theme="dark"] a:hover{color:var(--sand-100);border-bottom-color:var(--sand-100)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--bronze-500);color:var(--sand-100)}
img{display:block;max-width:100%}
hr{border:0;border-top:var(--rule-width) solid var(--border-hairline);margin:var(--space-6) 0}

/* Utility classes shipped with the system */
.luxe-eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:var(--fw-label);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.luxe-display{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-display-xl);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-variation-settings:var(--fraunces-display)}
.luxe-lead{font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--text-muted);max-width:var(--measure-lead)}
.luxe-caption{font-size:var(--fs-caption);color:var(--text-muted);max-width:var(--measure-caption)}
.luxe-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.luxe-section{padding-block:var(--section-y)}
@media (max-width:720px){.luxe-section{padding-block:var(--section-y-mobile)}}
.luxe-reveal{opacity:0;transform:translateY(var(--rise-distance));animation:luxe-rise var(--dur-reveal) var(--ease-material) forwards}
@keyframes luxe-rise{to{opacity:1;transform:none}}
