:root{--dark: #111008;--ivory: #FAFAF7;--ivory-alt: #F3EFE5;--gold: #B49B64;--gold-rgb: 180, 155, 100;--text-dark: #1a1a14;--text-mid: #6B6659;--text-light: rgba(245, 240, 230, .85);--text-muted: rgba(245, 240, 230, .4);--color-primary: #B49B64;--color-primary-hover: #C9B278;--color-error: #DC2626;--color-success: #16A34A;--color-border: rgba(180, 155, 100, .2);--color-surface: var(--ivory);--color-surface-alt: var(--ivory-alt);--color-text-primary: var(--text-dark);--color-text-secondary: var(--text-mid);--color-text-tertiary: #9CA3AF;--font-serif: "Cormorant Garant", Georgia, serif;--font-sans: "Jost", system-ui, -apple-system, sans-serif;--font-family: var(--font-sans);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-30: 120px;--max-width: 1120px;--nav-height: 72px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-card-hover: 0 4px 12px rgba(0,0,0,.08);--shadow-nav: 0 1px 3px rgba(0,0,0,.12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);color:var(--text-dark);background-color:var(--ivory);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--gold);color:var(--dark);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:14px;font-weight:600;z-index:9999;transition:top .1s}.skip-link:focus{top:var(--space-2)}*:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.52s}.heading-reveal{overflow:hidden}.heading-reveal .inner{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1)}.heading-reveal.visible .inner{transform:translateY(0)}.section-sweep{position:relative;overflow:hidden}.section-sweep:before{content:"";position:absolute;top:0;left:-100%;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);z-index:10}.section-sweep.in-view:before{animation:sweepLine 1s cubic-bezier(.16,1,.3,1) forwards}.section-num-mark{position:absolute;right:48px;top:32px;font-family:var(--font-serif);font-size:220px;font-weight:700;font-style:italic;color:rgba(var(--gold-rgb),0);line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;transition:color 1.2s .2s ease;letter-spacing:-.05em;z-index:0}.section-sweep.in-view .section-num-mark{color:rgba(var(--gold-rgb),.04)}.section-sweep.section-dark.in-view .section-num-mark{color:rgba(var(--gold-rgb),.05)}@keyframes sweepLine{0%{left:-100%;opacity:1}to{left:100%;opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes scaleInY{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes growWidth{0%{width:0}to{width:28px}}@keyframes growWidthRule{0%{width:0}to{width:48px}}@keyframes scaleInX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scrollPulse{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@keyframes glowPulse{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.heading-reveal .inner{opacity:1!important;transform:none!important}}@media (max-width: 767px){.section-num-mark{font-size:120px;right:16px}}
