@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/terroir/_astro/playfair-display-latin-400-normal.CFtfchNt.woff2) format("woff2"),url(/terroir/_astro/playfair-display-latin-400-normal.DHYHbkg3.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/terroir/_astro/playfair-display-latin-700-normal.CuDiGg7c.woff2) format("woff2"),url(/terroir/_astro/playfair-display-latin-700-normal.Bc_1Q1cG.woff) format("woff")}:root{--color-bg: #ffffff;--color-cream: #faf3e7;--color-cream-tint: #f6ecd9;--color-text: #1a1a1a;--color-text-muted: #595959;--color-border: #e0e0e0;--color-terracotta: #b85a30;--color-terracotta-hover: #a04d28;--color-olive: #707a32;--color-olive-hover: #5e6a2a;--color-focus: var(--color-terracotta);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .55);--glass-blur: blur(20px) saturate(1.6);--shadow-soft: 0 1px 2px rgba(20, 12, 8, .04), 0 4px 12px rgba(20, 12, 8, .06);--shadow-elevated: 0 1px 2px rgba(20, 12, 8, .05), 0 8px 24px rgba(20, 12, 8, .1), 0 24px 48px rgba(20, 12, 8, .08);--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-cream);font-family:var(--font-body);color:var(--color-text)}body[data-mode=app]{height:100dvh;overflow:hidden}body[data-mode=app] .app{height:100%;display:flex;flex-direction:column}body[data-mode=document]{min-height:100dvh}body[data-mode=document] .app{padding:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:2001;padding:.625rem 1rem;background:var(--color-terracotta);color:#fff;border-radius:8px;font-weight:600;text-decoration:none;box-shadow:var(--shadow-elevated);transform:translateY(-150%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0);outline:2px solid white;outline-offset:2px}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}.brand-card{position:fixed;top:1.25rem;left:1.25rem;z-index:1000;display:inline-flex;align-items:center;gap:.625rem;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:999px;padding:.4rem 1rem .4rem .5rem;box-shadow:var(--shadow-soft);text-decoration:none;transition:background .15s ease,box-shadow .15s ease}a.brand-card:hover{background:#ffffffd9}a.brand-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.brand-card__mark{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))}.brand-card__name{font-family:var(--font-display);font-weight:700;font-size:clamp(1.125rem,3.5vw,1.375rem);color:var(--color-terracotta);letter-spacing:.005em;line-height:1.1}.nav-card{position:fixed;top:1.25rem;right:1.25rem;z-index:1002;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:999px;padding:.25rem .5rem;box-shadow:var(--shadow-soft)}.nav-card{display:inline-flex;align-items:center;gap:.125rem}.nav-card__link{display:inline-flex;align-items:center;min-height:36px;padding:.25rem .75rem;color:var(--color-text);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:999px;transition:background .15s ease}.nav-card__link:hover{background:#0000000d}.nav-card__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-card__divider{width:1px;align-self:stretch;margin:.375rem 0;background:#0000001a}.noscript-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;margin:0;max-width:min(90vw,28rem);padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:var(--shadow-elevated);text-align:center}
