@font-face{font-family:Recoleta;src:local(Recoleta Thin),local(Recoleta-Thin),url(/fonts/recoleta/Recoleta-Thin.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Thin.woff)format("woff"),url(/fonts/recoleta/Recoleta-Thin.ttf)format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta Light),local(Recoleta-Light),url(/fonts/recoleta/Recoleta-Light.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Light.woff)format("woff"),url(/fonts/recoleta/Recoleta-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta Regular),local(Recoleta-Regular),url(/fonts/recoleta/Recoleta-Regular.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Regular.woff)format("woff"),url(/fonts/recoleta/Recoleta-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta Medium),local(Recoleta-Medium),url(/fonts/recoleta/Recoleta-Medium.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Medium.woff)format("woff"),url(/fonts/recoleta/Recoleta-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta SemiBold),local(Recoleta-SemiBold),url(/fonts/recoleta/Recoleta-SemiBold.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-SemiBold.woff)format("woff"),url(/fonts/recoleta/Recoleta-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta Bold),local(Recoleta-Bold),url(/fonts/recoleta/Recoleta-Bold.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Bold.woff)format("woff"),url(/fonts/recoleta/Recoleta-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:local(Recoleta Black),local(Recoleta-Black),url(/fonts/recoleta/Recoleta-Black.woff2)format("woff2"),url(/fonts/recoleta/Recoleta-Black.woff)format("woff"),url(/fonts/recoleta/Recoleta-Black.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--bg:#f7f6f3;--surface:#fff;--surface-2:#f1efea;--text:#1b1a18;--muted:#5c574f;--faint:#9b948a;--accent:#1b1a18;--accent-soft:#3a3833;--border:#e7e3da;--line:#ddd8cd;--shadow:0 1px 2px #1b1a180a, 0 6px 22px #1b1a180d;--shadow-hover:0 2px 6px #1b1a180f, 0 16px 38px #1b1a181a;--radius:16px;--radius-sm:10px;--maxw:1080px;--font-sans:"Recoleta", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Recoleta", Georgia, "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}button,input,select,textarea{font-family:inherit}html{scroll-behavior:smooth;scroll-padding-top:96px}body{font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-color:var(--bg);font-size:17px;font-weight:500;line-height:1.65}.paper-bg{z-index:-1;background-color:var(--bg);background-blend-mode:normal, normal, multiply;background-image:radial-gradient(circle at 20% 10%,#fffdf780 0%,#fffdf700 55%),radial-gradient(circle at 85% 90%,#e2d9c773 0%,#e2d9c700 55%),url(/paper-textures/01-white-papers.jpg);background-repeat:no-repeat,no-repeat,repeat;background-size:auto,auto,600px;background-attachment:fixed,fixed,scroll;position:fixed;inset:0}main,.footer{z-index:1;position:relative}a{color:var(--accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}a:hover{text-decoration-color:currentColor}img{max-width:100%;display:block}::selection{color:#fff;background:#1b1a18}.nav{z-index:50;width:calc(100% - 32px);max-width:var(--maxw);-webkit-backdrop-filter:blur(12px)saturate(180%)brightness(1.04);background:linear-gradient(#ffffff8c,#ffffff52);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin:12px auto 0;padding:9px 16px 9px 18px;transition:box-shadow .3s;display:flex;position:sticky;top:12px;box-shadow:0 8px 30px #1b1a181f,0 2px 8px #1b1a180f}.nav.is-scrolled{box-shadow:0 12px 38px #1b1a182b,0 3px 10px #1b1a1817}.nav__brand,.nav__links,.nav__toggle{z-index:1;position:relative}.nav__brand{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;white-space:nowrap;font-size:1.05rem;font-weight:600;text-decoration:none}.nav__links{gap:4px;display:flex}.nav__links a{color:var(--accent-soft);text-shadow:0 0 6px color-mix(in srgb, var(--bg) 85%, transparent);border-radius:999px;padding:6px 12px;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s,box-shadow .2s}.nav__links a:hover,.nav__links a.is-active{color:var(--text);background:#ffffff8c;box-shadow:inset 0 0 0 1px #ffffff8c}.nav__toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:8px;display:none}.nav__toggle span{background:var(--text);border-radius:2px;width:22px;height:2px}.section{max-width:var(--maxw);margin:0 auto;padding:72px 24px}.section__head{max-width:660px;margin-bottom:36px}.section h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600;line-height:1.12}.section__sub{color:var(--muted);margin-top:8px;font-size:1.02rem}.hero{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,7vw,88px) 24px clamp(28px,4vw,48px)}.hero__grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}.hero__badge{object-fit:cover;border:1px solid var(--border);width:56px;height:56px;box-shadow:var(--shadow);border-radius:50%;margin-bottom:18px}.eyebrow{color:var(--muted);margin-bottom:14px;font-size:1rem;font-weight:600}.hero h1{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:24px;font-size:clamp(2rem,5vw,3.2rem);font-weight:500;line-height:1.08}.hero__bio p{color:var(--muted);margin-bottom:12px;font-size:1.08rem}.hero__bio a{font-weight:500}.hero__cta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;padding:11px 22px;font-size:.96rem;font-weight:500;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-soft);box-shadow:var(--shadow-hover)}.btn--ghost{border-color:var(--line);color:var(--text);background:var(--surface)}.btn--ghost:hover{border-color:var(--text)}.hero__media{flex-direction:column;gap:10px;display:flex}.hero__frame{width:100%;box-shadow:none;aspect-ratio:4/3;background:0 0;border:0}.hero__frame iframe{border:0;width:100%;height:100%;display:block}.hero__frame-cap{color:var(--faint);text-align:center;font-size:.84rem}.links{grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;display:grid}.links a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .2s;display:flex}.links a:hover{box-shadow:var(--shadow-hover);border-color:var(--line);transform:translateY(-2px)}.links__icon{background-color:var(--accent-soft);width:24px;height:24px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;flex:none;transition:background-color .2s}.links a:hover .links__icon{background-color:var(--accent)}.links__body{flex-direction:column;flex:1;min-width:0;display:flex}.links__body strong{font-size:.98rem;font-weight:600}.links__body span{color:var(--muted);font-size:.88rem}.links__arrow{color:var(--faint);font-size:1.05rem;transition:transform .2s,color .2s}.links a:hover .links__arrow{color:var(--text);transform:translate(2px,-2px)}.divider{max-width:var(--maxw);justify-content:center;align-items:center;margin:8px auto;padding:0 24px;display:flex}.divider span{font-family:var(--font-display);color:var(--muted);padding:0 22px;font-size:1.2rem;font-style:italic;position:relative}.divider span:before,.divider span:after{content:"";background:var(--line);width:64px;height:1px;position:absolute;top:50%}.divider span:before{right:100%}.divider span:after{left:100%}.cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.cards--reads{grid-template-columns:repeat(2,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:24px;transition:transform .15s,box-shadow .2s,border-color .2s;display:flex}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.22rem;font-weight:600;line-height:1.2}.card time{color:var(--faint);font-size:.82rem;font-weight:500}.card p{color:var(--muted);font-size:.96rem}.card--tile{font:inherit;text-align:left;cursor:pointer;color:inherit;width:100%}.card--tile:hover{border-color:var(--line)}.card--tile:focus-visible{outline:2px solid var(--text);outline-offset:2px}.card__cue{color:var(--text);gap:4px;margin-top:auto;padding-top:8px;font-size:.86rem;font-weight:600;display:inline-flex}.card__cue span{transition:transform .2s}.card--tile:hover .card__cue span{transform:translate(3px)}.modal__cover{background:var(--surface-2);border-radius:10px;width:100%;height:auto;margin:4px 0 18px;display:block}.modal__cover--sm{max-width:360px;margin-left:auto;margin-right:auto}.card__tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.tag{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);letter-spacing:.01em;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:500}.place{margin:24px 0 12px;font-size:.98rem;font-weight:600}.place span{color:var(--muted);font-style:italic;font-weight:400}.place__note{color:var(--faint);margin:6px 0 4px;font-style:italic}.gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.gallery__item{border-radius:var(--radius-sm);background:var(--surface-2);cursor:zoom-in;border:1px solid var(--border);display:block;overflow:hidden}.gallery__item img{object-fit:cover;aspect-ratio:3/4;width:100%;height:100%;transition:transform .4s}.gallery__item:hover img{transform:scale(1.04)}.gallery__item--wide{grid-column:span 2}.gallery__item--wide img{aspect-ratio:16/11}.photo-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.photo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.photo .gallery__item{cursor:zoom-in;background:var(--surface-2);border:0;border-radius:0}.photo .gallery__item img{aspect-ratio:auto;object-fit:contain;width:100%;height:auto}.photo figcaption{flex-direction:column;gap:8px;padding:16px 18px;display:flex}.photo figcaption strong{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.photo figcaption>span{color:var(--faint);font-size:.84rem}.music-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.embed{border-radius:var(--radius);position:relative;overflow:hidden}.embed--video{aspect-ratio:16/9;box-shadow:var(--shadow);background:#000}.embed iframe{border:0;width:100%;height:100%;display:block}.embed--spotify{min-height:352px}.embed--spotify iframe{width:100%;height:352px}.past-tunes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.past-tunes>h3{font-family:var(--font-display);margin-bottom:18px;font-size:1.2rem;font-weight:600}.past-tunes__item{margin-bottom:22px}.past-tunes__item:last-child{margin-bottom:0}.past-tunes__item time{color:var(--faint);margin-bottom:10px;font-size:.82rem;font-weight:500;display:block}.past-tunes .embed--spotify,.past-tunes .embed--spotify iframe{height:152px;min-height:152px}.muted{color:var(--muted);margin-top:10px;font-size:.92rem;font-style:italic}.embed--full{width:100%}.past-tunes-link{font-family:var(--font-display);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:12px 22px;font-size:1.05rem;font-weight:600;transition:transform .15s,box-shadow .2s,border-color .2s;display:inline-flex}.past-tunes-link:hover{box-shadow:var(--shadow-hover);border-color:var(--line);transform:translateY(-1px)}.past-tunes-link span{transition:transform .2s}.past-tunes-link:hover span{transform:translate(3px)}.footer{border-top:1px solid var(--border);text-align:center;color:var(--faint);margin-top:32px;padding:40px 24px;font-size:.9rem}.modal{z-index:90;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal.is-open{display:flex}.modal__backdrop{-webkit-backdrop-filter:blur(2px);background:#1b1a1873;position:absolute;inset:0}.modal__dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;width:100%;max-width:760px;max-height:88vh;padding:36px;animation:.2s modalIn;position:relative;overflow:auto;box-shadow:0 24px 70px #1b1a1847}.modal__dialog::-webkit-scrollbar{width:8px}.modal__dialog::-webkit-scrollbar-track{background:0 0}.modal__dialog::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--surface);border-radius:999px}.modal__dialog::-webkit-scrollbar-thumb:hover{background:var(--faint)}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal__close{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;transition:background .2s,color .2s;display:flex;position:absolute;top:14px;right:16px}.modal__close:hover{background:var(--surface-2);color:var(--text)}.modal__eyebrow{color:var(--faint);letter-spacing:.02em;font-size:.82rem;font-weight:500}.modal__title{font-family:var(--font-display);letter-spacing:-.01em;margin:6px 0 16px;font-size:1.7rem;font-weight:600}.modal__content p{color:var(--muted);margin-bottom:12px}.modal__content ul{color:var(--muted);margin:4px 0 16px 1.2em}.modal__content ul li{margin-bottom:4px}.modal__content .place:first-of-type{margin-top:8px}.modal__actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.lightbox{z-index:120;cursor:zoom-out;background:#141311eb;justify-content:center;align-items:center;padding:32px;display:none;position:fixed;inset:0}.lightbox.is-open{display:flex}.lightbox img{border-radius:8px;max-width:100%;max-height:90vh;box-shadow:0 20px 60px #00000080}.lightbox__close{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:0;font-size:2.4rem;line-height:1;position:absolute;top:20px;right:26px}.lightbox__close:hover{opacity:1}@media (width<=860px){.nav{position:fixed;top:0;left:0;right:0}main{padding-top:62px}.nav__links{z-index:1;-webkit-backdrop-filter:blur(16px)saturate(180%);background:linear-gradient(#ffffff9e,#ffffff6b);border-radius:22px;flex-direction:column;gap:2px;padding:10px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 14px 36px #1b1a182e,inset 0 1px 1px #ffffffd9,inset 0 0 0 1px #fff6}.nav__links.is-open{display:flex}.nav__links a{border-radius:12px;padding:11px 14px}.nav__toggle{display:flex}.hero__grid{grid-template-columns:1fr}.hero__media{order:-1}.hero__frame{max-width:340px;margin:0 auto}.cards,.cards--reads,.links,.photo-grid,.music-grid{grid-template-columns:1fr}.gallery__item--wide{grid-column:span 1}.gallery__item--wide img{aspect-ratio:3/4}.modal__dialog{padding:28px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
