@layer base{:root{--background:#f5f3f0;--foreground:#1a1a18;--card:#ffffff;--card-foreground:#1a1a18;--popover:#ffffff;--popover-foreground:#1a1a18;--primary:#3d4a3a;--primary-foreground:#e8e6e1;--secondary:#f0ede8;--secondary-foreground:#3d4a3a;--muted:#f0ede8;--muted-foreground:#857b6f;--accent:#d4a574;--accent-foreground:#1a1a18;--destructive:#dc2626;--border:#e2ddd7;--input:#e2ddd7;--ring:#3d4a3a;--radius:0.5rem;--effect-cursor-ring:rgba(61,74,58,0.4);--effect-cursor-ring-hover:rgba(212,165,116,0.6);--effect-nav-divider:0 1px 0 rgba(61,74,58,0.1);--effect-bronze-glow:0 0 8px 2px rgba(212,165,116,0.5);--effect-surface-inset:rgba(15,23,42,0.05);--effect-surface-elevated:rgba(15,23,42,0.08);--layout-shell-max:72rem;--layout-reading-max:56rem;--layout-gutter-x:1rem;--layout-gutter-x-sm:1.5rem;--layout-main-pt:7rem;--layout-main-pt-sm:9rem;--layout-main-pb:4rem;--layout-main-pb-sm:6rem}}@font-face{font-family:Harding Text;src:url(/fonts/HardingText-Regular.woff2) format("woff2"),url(/fonts/HardingText-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Harding Text;src:url(/fonts/HardingText-RegularItalic.woff2) format("woff2"),url(/fonts/HardingText-RegularItalic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Harding Text;src:url(/fonts/HardingText-Bold.woff2) format("woff2"),url(/fonts/HardingText-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}.type-display{font-size:clamp(3rem,5vw + 1rem,3.5rem);line-height:1.05;letter-spacing:-.02em}.type-display,.type-heading{font-family:var(--font-display);font-weight:400}.type-heading{font-size:clamp(1.875rem,2vw + .75rem,2.25rem);line-height:1.2;letter-spacing:-.018em}.type-hero{font-size:clamp(2.5rem,4vw + 1rem,4rem);line-height:1.05;font-weight:600;letter-spacing:-.03em}.type-title-xl{font-size:clamp(1.5rem,1vw + 1.1rem,1.875rem);line-height:1.15;font-weight:600;letter-spacing:-.025em}.type-title{font-size:1.125rem;line-height:1.3;font-weight:600;letter-spacing:-.02em}.type-body-lg{font-size:1.125rem;line-height:1.75;font-weight:400}.type-body{font-size:1rem;line-height:1.7;font-weight:400}.type-body-sm{font-size:.875rem;line-height:1.6;font-weight:400}.type-label{line-height:1.35;letter-spacing:.01em}.type-code,.type-label{font-size:.875rem;font-weight:500}.type-code{font-family:var(--font-mono);line-height:1.6;font-variant-numeric:tabular-nums}.type-micro{font-size:.625rem;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.type-brand{font-family:var(--font-display);font-size:1.125rem;line-height:1.1;font-weight:500;letter-spacing:-.02em}@media (min-width:640px){.type-body-lg{font-size:1.25rem}}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);cursor:none;font-family:var(--font-sans);font-kerning:normal;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layout-main{padding-top:var(--layout-main-pt);padding-bottom:var(--layout-main-pb)}.layout-shell{width:100%;max-width:var(--layout-shell-max);margin-inline:auto;padding-inline:var(--layout-gutter-x)}.layout-reading{width:100%;max-width:var(--layout-reading-max)}@media (min-width:640px){.layout-main{padding-top:var(--layout-main-pt-sm);padding-bottom:var(--layout-main-pb-sm)}.layout-shell{padding-inline:var(--layout-gutter-x-sm)}}.cursor-dot{z-index:9999;width:8px;height:8px;background:var(--primary);border-radius:50%;transition:transform .15s cubic-bezier(.16,1,.3,1),opacity .15s ease,width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),background .25s ease}.cursor-dot,.cursor-ring{pointer-events:none;position:fixed;top:0;left:0;transform:translate(-50%,-50%);will-change:transform}.cursor-ring{z-index:9998;width:36px;height:36px;border:1.5px solid var(--effect-cursor-ring);border-radius:50%;transition:transform .4s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),border-color .25s ease,opacity .3s ease}.cursor-dot.is-hovering{width:4px;height:4px;background:var(--accent)}.cursor-ring.is-hovering{width:52px;height:52px;border-color:var(--effect-cursor-ring-hover)}.shadow-nav-divider{box-shadow:var(--effect-nav-divider)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.05s}.reveal-delay-2{transition-delay:.1s}.reveal-delay-3{transition-delay:.15s}.reveal-delay-4{transition-delay:.2s}.reveal-delay-5{transition-delay:.25s}.nav-link-hover{position:relative;display:inline-block}.nav-link-hover:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:1px;background:currentColor;transition:width .25s cubic-bezier(.16,1,.3,1),left .25s cubic-bezier(.16,1,.3,1)}.nav-link-hover:hover:after{width:100%;left:0}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:9997;transform-origin:left;transition:none}@keyframes float-gentle{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(-12px) rotate(.5deg)}66%{transform:translateY(-6px) rotate(-.5deg)}}@keyframes float-gentle-reverse{0%,to{transform:translateY(0) rotate(0deg)}33%{transform:translateY(8px) rotate(-.3deg)}66%{transform:translateY(14px) rotate(.3deg)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-ring{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.3;transform:scale(1.04)}}.animate-float{animation:float-gentle 6s ease-in-out infinite}.animate-float-reverse{animation:float-gentle-reverse 7s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 20s linear infinite}.animate-pulse-ring{animation:pulse-ring 4s ease-in-out infinite}@keyframes loading-bar{0%{width:0}50%{width:70%}to{width:100%}}.animate-loading-bar{animation:loading-bar 2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.animate-float,.animate-float-reverse,.animate-pulse-ring,.animate-spin-slow{animation:none}.cursor-dot,.cursor-ring{transition:none}}@media (hover:none){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}}.corner-mark{position:fixed;bottom:24px;right:20px;writing-mode:vertical-rl;text-orientation:mixed;font-size:9px;letter-spacing:.2em;color:color-mix(in srgb,var(--primary) 25%,transparent);pointer-events:none;z-index:100;user-select:none}