:root{--parchment:#F7F4EF;--parchment-mid:#EDE8DF;--parchment-warm:#F2EDE4;--cream:#FAFAF7;--dark:#1A1A2E;--dark-mid:#2E2E45;--ink:#2A2A3E;--terracotta:#E8521A;--terracotta-lt:#F07A48;--terracotta-dk:#B83C0E;--mint:#3ECFAA;--mint-lt:#7DDFC8;--mint-dk:#28A888;--violet:#7C5CBF;--violet-lt:#A88FD8;--violet-dk:#5A3E9A;--lemon:#F2C94C;--lemon-lt:#F7DC80;--lemon-dk:#D4A820;--coral:#F26B8A;--coral-lt:#F79AB2;--coral-dk:#C44868;--blueprint:#2D5BE3;--blueprint-lt:#6B8FF0;--sage:#6DBF8A;--sage-dk:#4A9A65;--linen:#D8D0C4;--linen-dark:#B8AFA0;--tape:#F0EAD0;--mono-font:'Montserrat', monospace;--serif-font:'Lora', Georgia, serif;--sans-font:'Montserrat', sans-serif;--chinese-font:'Noto Serif SC', serif;--nav-h:62px;--ease-quirk:cubic-bezier(.4, 1.4, .5, 1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background:var(--parchment)}body{font-family:var(--sans-font);font-weight:300;color:var(--dark);background:var(--parchment);overflow-x:hidden;min-height:100svh;display:flex;flex-direction:column;padding-top:var(--nav-h)}a{color:inherit;text-decoration:none}ul{list-style:none}::selection{background:var(--lemon);color:var(--ink)}.site-main{flex:1;display:flex;flex-direction:column;justify-content:center}.mono{font-family:var(--mono-font);font-size:.65rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.hand{font-family:var(--serif-font);font-style:italic;font-weight:500}.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;mix-blend-mode:multiply}.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3rem);background:rgba(247,244,239,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px dashed rgba(184,175,160,.4);transition:border-color .3s,background .3s}.nav-logo{display:flex;align-items:center;gap:.5rem;transition:transform .4s var(--ease-quirk)}.nav-logo-mark{color:var(--terracotta);font-size:1.4rem;display:inline-block;transition:transform .5s var(--ease-quirk)}.nav-logo:hover .nav-logo-mark{transform:rotate(10deg)}.nav-logo-text{font-family:var(--serif-font);font-style:italic;font-size:1.15rem;color:var(--dark);letter-spacing:.03em}.nav-logo-text::after{content:'.';color:var(--terracotta);margin-left:.25rem}.nav-links{display:flex;gap:clamp(1rem,2.5vw,2rem);align-items:center}.nav-link{font-family:var(--mono-font);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-mid);opacity:.7;transition:opacity .2s,color .2s;position:relative;padding:.4rem .1rem}.nav-link:hover,.nav-link.active{opacity:1;color:var(--terracotta-dk)}.nav-menu-btn{display:none;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;padding:4px}.nav-menu-btn span{display:block;width:22px;height:1.5px;background:var(--dark-mid);transition:transform .3s}.footer{display:flex;justify-content:center;align-items:center;padding:1.2rem clamp(1.25rem,5vw,4rem);background:var(--dark);border-top:1px solid rgba(255,255,255,6%)}.footer-copy{color:var(--linen);opacity:.4;font-size:.65rem}.cursor-glow{position:fixed;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(232,82,26,.12),transparent 70%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);mix-blend-mode:multiply;display:none}@media(hover:hover) and (pointer:fine){.cursor-glow{display:block}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s var(--ease-quirk)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal--tilt{transform:translateY(28px)rotate(-3deg)}.reveal--tilt.visible{transform:translateY(0)rotate(0)}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes expandLine{to{transform:scaleX(1)}}@keyframes wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}@keyframes spin{to{transform:translateY(-50%)rotate(360deg)}}@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(.8)}50%{opacity:.8;transform:scaleY(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:640px){.nav-links{display:none}.nav-menu-btn{display:flex}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--cream);padding:1rem 1.5rem;border-bottom:1px dashed var(--linen-dark);gap:.8rem;align-items:flex-start}}.home{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(2rem,6vw,6rem);padding:2rem clamp(1.5rem,6vw,5rem)}.home-portrait{width:clamp(140px,22vw,280px);display:block;mix-blend-mode:multiply}.home-text{display:flex;flex-direction:column;gap:.3rem}.home-name{font-family:var(--serif-font);font-style:italic;font-weight:400;font-size:clamp(2rem,4vw,3.2rem);color:var(--dark)}.home-tagline{font-family:var(--serif-font);font-weight:300;font-size:clamp(1.4rem,2.5vw,2.2rem);color:var(--dark-mid)}@media(max-width:560px){.home{flex-direction:column;align-items:center;justify-content:center;text-align:center}.home-portrait{width:clamp(100px,40vw,160px)}}.section-page{position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:0}.section-page-bg{position:absolute;inset:0;z-index:0;background-color:#c4a882}.section-page-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out}.section-page-slide.active{opacity:1}.section-page-slide img{width:100%;height:100%;object-fit:cover;display:block}.section-page-header{position:fixed;z-index:1;top:calc(var(--nav-h) + 1.5rem);left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);display:flex;justify-content:space-between;align-items:flex-start}.section-page-left{display:flex;flex-direction:column;gap:.6rem}.section-page-title{font-family:var(--serif-font);font-size:1rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--dark);opacity:.7}.section-page-nav{display:flex;flex-direction:column;gap:.2rem}.section-page-nav a{font-family:var(--mono-font);font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dark);opacity:.5;transition:opacity .2s}.section-page-nav a:hover{opacity:1}.section-page-caption{position:fixed;bottom:calc(48px + 1.5rem);right:clamp(1rem,4vw,3rem);font-size:.65rem;letter-spacing:.1em;color:var(--dark);text-align:right;height:1em;z-index:1}.caption-layer{position:absolute;right:0;top:0;opacity:0;transition:opacity 1.2s ease-in-out;white-space:nowrap}.caption-layer.active{opacity:.5}.header-spacer{height:2rem}.about-page{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem clamp(1.5rem,6vw,5rem)}.about-content{max-width:52ch;display:flex;flex-direction:column;gap:1.4rem}.about-body{font-family:var(--serif-font);font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.75;color:var(--dark-mid)}.about-quote{font-family:var(--sans-font);font-size:clamp(.65rem,.9vw,.8rem);margin-top:1.6rem;border:none;padding:0}.about-quote p{font-style:italic;color:var(--dark-mid);text-transform:uppercase;margin-bottom:.4rem;opacity:.7}.contact-page{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem clamp(1.5rem,6vw,5rem)}.contact-content{width:100%;max-width:48ch}.contact-form{display:flex;flex-direction:column;gap:1.6rem}.contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-field--hidden{display:none}.contact-label{font-family:var(--mono-font);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dark-mid)}.contact-input{font-family:var(--sans-font);font-size:.9rem;font-weight:300;color:var(--dark);background:0 0;border:none;border-bottom:1px solid var(--linen-dark);padding:.5rem 0;outline:none;transition:border-color .2s;width:100%}.contact-input:focus{border-bottom-color:var(--dark-mid)}.contact-textarea{resize:none;height:8rem}.contact-submit{font-family:var(--mono-font);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-mid);background:0 0;border:1px solid var(--linen-dark);padding:.7rem 1.8rem;cursor:pointer;align-self:stretch;transition:border-color .2s,color .2s}.contact-submit:hover{border-color:var(--dark-mid);color:var(--dark)}