@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/bodoni-moda-variable.woff2) format("woff2")}@font-face{font-family:Bodoni Moda;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/bodoni-moda-italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-variable.woff2) format("woff2")}@font-face{font-family:Tangerine;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tangerine.woff2) format("woff2")}:root{--ink-0: #0A0A0A;--ink-1: #141414;--ink-2: #1C1C1C;--ink-3: #242424;--paper-0: #FFFFFF;--paper-1: #F2F2F2;--paper-2: #A8A8A8;--paper-3: #767676;--line-1: #2A2A2A;--line-2: #3C3C3C;--danger: #FF5A3D;--success: #3DD68C;--surface-page: var(--ink-0);--surface-card: var(--ink-1);--surface-raised: var(--ink-2);--surface-pressed: var(--ink-3);--text-body: var(--paper-1);--text-muted: var(--paper-2);--text-faint: var(--paper-3);--text-on-accent: var(--ink-0);--text-inverse: var(--ink-0);--border-default: var(--line-1);--border-strong: var(--line-2);--accent-primary: var(--paper-1);--accent-primary-hover: var(--paper-0);--accent-secondary: var(--paper-2);--accent-warm: var(--danger);--link: var(--paper-1);--link-hover: var(--paper-0);--focus-ring: var(--paper-1);--scrim-bottom: linear-gradient(180deg, rgba(10, 10, 10, 0) 45%, rgba(10, 10, 10, .88) 100%);--scrim-full: rgba(10, 10, 10, .45);--selection-bg: rgba(240, 240, 240, .9);--font-display: "Bodoni Moda", "Didot", "Bodoni MT", serif;--font-body: "Inter", system-ui, sans-serif;--font-label: "Inter", system-ui, sans-serif;--font-script: "Tangerine", "Snell Roundhand", "Apple Chancery", cursive;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 40px;--text-4xl: 56px;--text-5xl: 80px;--text-6xl: 120px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-display: 460;--leading-display: 1.02;--leading-tight: 1.15;--leading-normal: 1.55;--tracking-display: 0;--tracking-tight: -.01em;--tracking-eyebrow: .16em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 144px;--radius-none: 0px;--radius-sm: 2px;--radius-md: 4px;--radius-pill: 999px;--container-max: 1280px;--container-pad: 24px;--header-height: 72px;--grid-gap: 2px;--shadow-overlay: 0 24px 64px rgba(0, 0, 0, .6);--shadow-toast: 0 8px 32px rgba(0, 0, 0, .5);--img-hairline: inset 0 0 0 1px rgba(255, 255, 255, .08);--ease-out: cubic-bezier(.2, .6, .2, 1);--duration-fast: .15s;--duration-base: .25s;--duration-route: .4s;--duration-slow: .45s;--duration-enter: .7s;--stagger-step: .11s;--enter-rise: 16px;--img-hover-scale: 1.03;--img-dim: grayscale(1) brightness(.95);--img-dim-hover: grayscale(1) brightness(1.06);--focus-ring-width: 2px;--focus-ring-offset: 2px}.wordmark{width:auto;display:block;fill:currentColor;color:var(--text-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-label);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn--sm{padding:0 14px;height:34px;font-size:12px}.btn--md{padding:0 22px;height:44px;font-size:13px}.btn--lg{padding:0 30px;height:52px;font-size:14px}.btn--full{display:flex;width:100%}.btn--primary{background:var(--accent-primary);color:var(--text-on-accent);border-color:transparent}.btn--primary:hover{background:var(--accent-primary-hover)}.btn--primary:active{background:#ddd9d0}.btn--secondary{background:transparent;color:var(--text-body);border-color:var(--border-strong)}.btn--secondary:hover{border-color:var(--text-body)}.btn--secondary:active{background:var(--surface-pressed);border-color:var(--text-body)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn--ghost:hover{color:var(--text-body)}.btn--ghost:active{background:var(--surface-pressed);color:var(--text-body)}.btn--danger{background:transparent;color:var(--accent-warm);border-color:var(--border-default)}.btn--danger:hover{border-color:var(--accent-warm)}.btn--danger:active{background:var(--surface-pressed);border-color:var(--accent-warm)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;color:var(--text-faint);border-color:var(--border-default);background:transparent}.btn--primary:disabled,.btn--primary[aria-disabled=true]{background:var(--ink-2)}.tag{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-default);color:var(--text-muted);font-family:var(--font-label);font-size:11px;font-weight:var(--weight-medium);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.tag--accent{border-color:var(--accent-primary);color:var(--accent-primary)}.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:11px;font-weight:var(--weight-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.badge-dot--published{background:var(--success)}.badge-dot--draft{background:var(--text-faint)}.badge-dot--hidden{background:var(--accent-warm)}.card{position:relative;display:block;aspect-ratio:4 / 5;overflow:hidden;background:var(--surface-card);text-decoration:none;cursor:pointer}.card:after{content:"";position:absolute;inset:0;box-shadow:var(--img-hairline);pointer-events:none}.card__img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1);filter:var(--img-dim);transition:transform var(--duration-slow) var(--ease-out),filter var(--duration-slow) var(--ease-out)}.card:hover .card__img,.card:focus-visible .card__img{transform:scale(var(--img-hover-scale));filter:var(--img-dim-hover)}.card__scrim{position:absolute;inset:0;background:var(--scrim-bottom)}.card__body{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:4px}.card__name{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:.01em;text-transform:lowercase;line-height:1;color:var(--text-body);transition:color var(--duration-fast) var(--ease-out)}.card:hover .card__name,.card:focus-visible .card__name{color:var(--accent-primary-hover)}.card__meta{font-family:var(--font-label);font-size:11px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);transition:color var(--duration-fast) var(--ease-out)}.card:hover .card__meta,.card:focus-visible .card__meta{color:var(--text-body)}.social-links{display:flex;flex-wrap:wrap;gap:var(--space-6)}.social-links--column{flex-direction:column;gap:var(--space-3)}.social-link{display:inline-flex;align-items:baseline;gap:.4ch;font-family:var(--font-label);font-size:12px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase;color:var(--text-body);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.social-link:hover{color:var(--link-hover)}.social-link__arrow{display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.social-link:hover .social-link__arrow,.social-link:focus-visible .social-link__arrow{transform:translate(3px,-3px)}.nav-link{position:relative;font-family:var(--font-label);font-size:12px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);padding-bottom:4px;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-fast) var(--ease-out)}.nav-link:hover{color:var(--text-body)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.nav-link[aria-current=page]{color:var(--text-body)}.nav-link[aria-current=page]:after{transform:scaleX(1)}.arrow-link{display:inline-flex;align-items:baseline;gap:.4ch;font-family:var(--font-label);font-size:14px;font-weight:var(--weight-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--text-body);white-space:nowrap;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.arrow-link:hover{color:var(--link-hover)}.arrow-link:after{content:"→";display:inline-block;transition:transform var(--duration-fast) var(--ease-out)}.arrow-link:hover:after,.arrow-link:focus-visible:after{transform:translate(4px)}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-family:var(--font-label);font-size:11px;font-weight:var(--weight-medium);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.field__req{color:var(--accent-primary)}.field__hint{font-size:var(--text-sm);color:var(--text-faint)}.field__error{font-size:var(--text-sm);color:var(--danger)}.input,.textarea,.select{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-base);outline:none;width:100%;caret-color:var(--accent-primary);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.input{height:46px;padding:0 14px}.textarea{padding:12px 14px;line-height:var(--leading-normal);resize:vertical}.input:focus,.textarea:focus,.select:focus{background:var(--surface-raised);border-color:var(--accent-primary)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-faint)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.select-wrap{position:relative;display:block;width:100%}.select{height:46px;padding:0 36px 0 14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.select:invalid{color:var(--text-faint)}.select-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);font-size:15px;line-height:1}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-self:start}.contact-form__full{grid-column:1 / -1}.contact-form__turnstile{min-height:65px}.contact-panel{border:1px solid var(--border-default);background:var(--surface-card);padding:var(--space-7);align-self:start}.contact-panel__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-display);text-transform:lowercase;letter-spacing:var(--tracking-display)}.contact-panel__body{color:var(--text-muted);margin:var(--space-3) 0 var(--space-5)}@media(max-width:767px){.contact-form{grid-template-columns:1fr}}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);min-height:100vh;text-wrap:pretty}::-moz-selection{background:var(--selection-bg);color:var(--ink-0)}::selection{background:var(--selection-bg);color:var(--ink-0)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0;text-wrap:balance}a:not(.btn){color:var(--link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:not(.btn):hover{color:var(--link-hover)}button{font-family:var(--font-body)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}img{display:block;max-width:100%}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);width:100%}.eyebrow{font-family:var(--font-label);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--container-pad);top:12px;transform:translateY(calc(-100% - 24px));z-index:3000;background:var(--surface-card);border:1px solid var(--border-strong);color:var(--text-body);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:10px 14px;transition:transform var(--duration-base) var(--ease-out)}.skip-link:focus{transform:translateY(0)}@keyframes spt-rise{0%{transform:translateY(var(--enter-rise))}to{transform:translateY(0)}}@keyframes spt-vt-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.012)}}@keyframes spt-vt-in{0%{transform:scale(.99)}to{transform:scale(1)}}.enter{animation:spt-rise var(--duration-enter) var(--ease-out) both}.enter-1{animation-delay:0ms}.enter-2{animation-delay:var(--stagger-step)}.enter-3{animation-delay:calc(2 * var(--stagger-step))}.enter-4{animation-delay:calc(3 * var(--stagger-step))}.enter-5{animation-delay:calc(4 * var(--stagger-step))}.enter-6{animation-delay:calc(5 * var(--stagger-step))}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:spt-vt-out var(--duration-route) var(--ease-out) both;z-index:2}::view-transition-new(root){animation:spt-vt-in var(--duration-route) var(--ease-out) both;z-index:1}::view-transition-group(*){animation-duration:var(--duration-route);animation-timing-function:var(--ease-out)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.enter,.enter-1,.enter-2,.enter-3,.enter-4,.enter-5,.enter-6{animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
