:root{--gp-primary-600:#e8a317;--gp-primary-700:#b8801f;--gp-accent-500:#1e4e7c;--gp-accent-700:#13344f;--gp-ink-900:#0b1220;--gp-ink-700:#3c424e;--gp-ink-400:#5b6471;--gp-bg-100:#f5f3ee;--gp-bg-0:#fefefc;--gp-success-600:#2f7d3e;--gp-warn-600:#b8801f;--gp-danger-600:#b43a2e;--gp-fg-on-light:var(--gp-ink-900);--gp-fg-on-dark:#f5f3ee;--gp-fg-on-primary:var(--gp-ink-900);--gp-fg-on-accent:#fefefc;--gp-surface-inverted:#0b1220;--gp-fs-xs:clamp(.75rem, .2vw + .7rem, .8125rem);--gp-fs-sm:clamp(.875rem, .2vw + .82rem, .9375rem);--gp-fs-base:clamp(1rem, .4vw + .92rem, 1.125rem);--gp-fs-md:clamp(1.125rem, .6vw + 1rem, 1.25rem);--gp-fs-lg:clamp(1.25rem, .8vw + 1.05rem, 1.5rem);--gp-fs-xl:clamp(1.5rem, 1.4vw + 1rem, 2rem);--gp-fs-2xl:clamp(2rem, 2.4vw + 1.2rem, 3rem);--gp-fs-3xl:clamp(2.5rem, 3.2vw + 1.4rem, 4rem);--gp-fs-hero:clamp(2.75rem, 5.2vw + 1.4rem, 5.25rem);--gp-fs-h1:var(--gp-fs-3xl);--gp-fs-h2:var(--gp-fs-2xl);--gp-fs-h3:var(--gp-fs-xl);--gp-lh-display:1.05;--gp-lh-heading:1.15;--gp-lh-body:1.6;--gp-space-0:0;--gp-space-1:.25rem;--gp-space-2:.5rem;--gp-space-3:.75rem;--gp-space-4:1rem;--gp-space-5:1.5rem;--gp-space-6:2rem;--gp-space-7:2.5rem;--gp-space-8:3rem;--gp-space-10:5rem;--gp-space-12:8rem;--gp-section-y:clamp(3rem, 5vw, 5.5rem);--gp-section-y-tight:clamp(2rem, 3.5vw, 4rem);--gp-container-inline:clamp(1rem, 4vw, 3rem);--gp-container-max:1200px;--gp-container-wide:min(1280px, 100vw - 3rem);--gp-container-prose:min(1040px, 100vw - 3rem);--gp-radius-sm:4px;--gp-radius-md:8px;--gp-radius-lg:16px;--gp-radius-pill:999px;--gp-trans-fast:.12s;--gp-trans-med:.24s;--gp-trans-slow:.52s;--gp-ease-standard:cubic-bezier(.2, .8, .2, 1);--gp-ease-editorial:cubic-bezier(.16, 1, .3, 1);--gp-gradient-hero:radial-gradient(1200px 800px at 110% -10%, #e8a3172e, transparent 60%), linear-gradient(180deg, #fefefc 0%, #f5f3ee 100%);--gp-gradient-inverted:radial-gradient(1400px 900px at 10% 110%, #e8a3171f, transparent 50%), linear-gradient(180deg, #0b1220 0%, #0f1729 100%);--gp-gradient-trust:linear-gradient(180deg, #f5f3ee 0%, #fefefc 100%);--gp-glow-primary:0 0 0 1px #e8a31759, 0 0 48px -8px #e8a31773;--gp-glow-accent:0 0 0 1px #1e4e7c59, 0 0 48px -8px #1e4e7c73}
.gp-button{justify-content:center;align-items:center;gap:var(--gp-space-2);min-width:44px;min-height:44px;padding:var(--gp-space-3) var(--gp-space-5);border-radius:var(--gp-radius-pill);font-weight:600;font-size:var(--gp-fs-base);cursor:pointer;transition:background var(--gp-trans-fast) var(--gp-ease-standard), color var(--gp-trans-fast) var(--gp-ease-standard), transform var(--gp-trans-fast) var(--gp-ease-standard), box-shadow var(--gp-trans-med) var(--gp-ease-standard);border:2px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.gp-button:active{transform:translateY(1px)}.gp-button--sm{padding:var(--gp-space-2) var(--gp-space-4);font-size:var(--gp-fs-sm)}.gp-button--lg{padding:var(--gp-space-4) var(--gp-space-6);font-size:var(--gp-fs-md)}.gp-button--primary{background:var(--gp-primary-600);color:var(--gp-ink-900)}.gp-button--primary:hover{background:var(--gp-primary-700);color:var(--gp-ink-900);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.gp-button--secondary{color:var(--gp-ink-900);border-color:var(--gp-ink-900);background:0 0}.gp-button--secondary:hover{background:var(--gp-ink-900);color:var(--gp-bg-0)}.gp-button--ghost{color:var(--gp-ink-900);text-underline-offset:4px;background:0 0;text-decoration:underline;text-decoration-thickness:1px}.gp-button--ghost:hover{color:var(--gp-accent-700);text-decoration-thickness:2px}.gp-block[data-bg=surface-inverted] .gp-button--ghost,.gp-block[data-bg=surface-accent] .gp-button--ghost{color:var(--gp-fg-on-dark)}.gp-block[data-bg=surface-inverted] .gp-button--ghost:hover,.gp-block[data-bg=surface-accent] .gp-button--ghost:hover{color:var(--gp-primary-600)}.gp-block[data-bg=surface-inverted] .gp-button--secondary,.gp-block[data-bg=surface-accent] .gp-button--secondary{color:var(--gp-bg-0);border-color:var(--gp-bg-0)}.gp-stat{gap:var(--gp-space-2);flex-direction:column;display:flex}.gp-stat__value{font-family:var(--gp-font-serif), Georgia, serif;font-size:var(--gp-fs-h2);letter-spacing:-.02em;color:var(--gp-ink-900);font-weight:600;line-height:1}.gp-stat__label{font-size:var(--gp-fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--gp-ink-400);font-weight:500}.gp-card{padding:var(--gp-space-5);border-radius:var(--gp-radius-lg);background:var(--gp-bg-0);box-shadow:0 1px 2px #1a1d240f}.gp-card[data-bg=surface-muted]{background:var(--gp-bg-100)}.gp-badge{padding:var(--gp-space-1) var(--gp-space-3);border-radius:var(--gp-radius-pill);font-size:var(--gp-fs-xs);text-transform:uppercase;letter-spacing:.06em;background:var(--gp-bg-100);color:var(--gp-ink-700);align-items:center;font-weight:600;display:inline-flex}.gp-badge--primary{background:var(--gp-primary-600);color:var(--gp-ink-900)}.gp-badge--success{background:var(--gp-success-600);color:var(--gp-bg-0)}.gp-badge--warn{background:var(--gp-warn-600);color:var(--gp-ink-900)}.gp-badge--danger{background:var(--gp-danger-600);color:var(--gp-bg-0)}.gp-input,.gp-textarea,.gp-checkbox{gap:var(--gp-space-1);font-size:var(--gp-fs-base);flex-direction:column;display:flex}.gp-input__label,.gp-textarea__label{color:var(--gp-ink-900);font-weight:600}.gp-input input,.gp-textarea textarea,.gp-contact__form input:not([type=checkbox]),.gp-contact__form select,.gp-contact__form textarea{min-height:44px;padding:var(--gp-space-3);border:1px solid var(--gp-ink-400);border-radius:var(--gp-radius-md);background:var(--gp-bg-0);color:var(--gp-ink-900)}.gp-input input:focus-visible,.gp-textarea textarea:focus-visible,.gp-contact__form input:focus-visible,.gp-contact__form textarea:focus-visible,.gp-contact__form select:focus-visible{border-color:var(--gp-primary-600)}.gp-input input[aria-invalid=true],.gp-textarea textarea[aria-invalid=true]{border-color:var(--gp-danger-600)}.gp-checkbox{align-items:center;gap:var(--gp-space-2);flex-direction:row}.gp-checkbox input[type=checkbox]{min-width:20px;min-height:20px}.gp-availability{align-items:center;gap:var(--gp-space-2);font-size:var(--gp-fs-sm);display:inline-flex}.gp-availability__dot{border-radius:var(--gp-radius-pill);background:var(--gp-ink-400);flex:none;width:8px;height:8px}.gp-availability[data-state=available] .gp-availability__dot{background:var(--gp-success-600)}.gp-availability[data-state=waitlist] .gp-availability__dot{background:var(--gp-warn-600)}
