*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #fafafa;--color-text: #1a1a1a;--color-text-muted: #666;--color-border: #e0e0e0;--color-accent: #2c2c2c;--font-serif: "Georgia", "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width: 1040px;--spacing-unit: 1rem}html{font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);transition:border-color .2s ease}a:hover{border-color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.3}h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:calc(var(--spacing-unit) * 2)}h2{font-size:1.25rem;margin-bottom:var(--spacing-unit);margin-top:calc(var(--spacing-unit) * 2)}h3{font-size:1rem;margin-bottom:calc(var(--spacing-unit) * .5);margin-top:var(--spacing-unit)}p{margin-bottom:var(--spacing-unit)}ul{margin-bottom:var(--spacing-unit);padding-left:calc(var(--spacing-unit) * 1.5)}li{margin-bottom:calc(var(--spacing-unit) * .5)}address{font-style:normal;line-height:1.8}.site-container{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:200;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:calc(var(--spacing-unit) * 1.1) var(--spacing-unit)}.nav{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:calc(var(--spacing-unit) * .75)}.nav-brand a{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .75);font-family:var(--font-serif);font-size:.98rem;border:none}.nav-headshot{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:none;border:none;cursor:pointer;padding:0}.hamburger span{display:block;width:100%;height:2px;background-color:var(--color-text);transition:transform .3s ease,opacity .3s ease}.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-links{display:flex;list-style:none;gap:calc(var(--spacing-unit) * 1.25);padding:0;margin:0}.nav-links a{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;border:none;padding-bottom:2px}.nav-links a.active{border-bottom:1px solid var(--color-text)}.main-content{flex:1;max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 4) var(--spacing-unit);width:100%}.page{animation:fadeIn .3s ease}.page-section{border-top:1px solid var(--color-border);margin-bottom:calc(var(--spacing-unit) * 4);padding-top:calc(var(--spacing-unit) * 2)}.page-section h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:0;margin-bottom:calc(var(--spacing-unit) * 1.5)}.page-hero{margin-bottom:calc(var(--spacing-unit) * 5);max-width:920px}.eyebrow,.card-eyebrow{color:var(--color-text-muted);display:block;font-size:.72rem;letter-spacing:.12em;margin-bottom:calc(var(--spacing-unit) * .75);text-transform:uppercase}.page-hero h1{margin-bottom:calc(var(--spacing-unit) * 1.5)}.hero-lead{max-width:760px}.hero-lead p{font-family:var(--font-serif);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.45;margin-bottom:calc(var(--spacing-unit) * .85)}.hero-actions{display:flex;flex-wrap:wrap;gap:calc(var(--spacing-unit) * .75);margin-top:calc(var(--spacing-unit) * 2)}.button-link{border:1px solid var(--color-text);display:inline-flex;font-size:.78rem;letter-spacing:.08em;padding:calc(var(--spacing-unit) * .65) calc(var(--spacing-unit) * 1.1);text-transform:uppercase}.button-link:hover{background-color:var(--color-text);color:var(--color-bg)}.section-body{max-width:760px}.section-body p,.editorial-section p{font-size:1.02rem;line-height:1.75;max-width:760px}.pillar-grid,.project-grid{display:grid;gap:var(--spacing-unit);grid-template-columns:repeat(2,minmax(0,1fr))}.pillar-card,.project-card{border:1px solid var(--color-border);display:block;min-height:100%;padding:calc(var(--spacing-unit) * 1.4)}.pillar-card:hover,.project-card:hover{border-color:var(--color-text)}.pillar-card h3,.project-card h3{font-family:var(--font-serif);font-size:1.35rem;margin-top:0}.pillar-card p,.project-card p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:0}.text-link{display:inline-block;font-size:.75rem;letter-spacing:.08em;margin-top:var(--spacing-unit);text-transform:uppercase}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bio p{margin-bottom:calc(var(--spacing-unit) * .9)}.contact-info{display:grid;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.contact-method h2{margin-top:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.contact-note{color:var(--color-text-muted);font-size:.95rem;border-top:1px solid var(--color-border);padding-top:calc(var(--spacing-unit) * 2)}.email-note{display:block;font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.social-item{margin-bottom:calc(var(--spacing-unit) * 2)}.social-item h2{margin-top:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.social-description{color:var(--color-text-muted);font-size:.95rem}.website-info h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-unit)}.gallery-item{overflow:hidden}.gallery-item img{width:100%;height:250px;object-fit:cover;display:block;transition:transform .3s ease}.gallery-item{cursor:pointer}.gallery-item:hover img{transform:scale(1.02)}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.lightbox img{max-width:90%;max-height:90%;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:30px;font-size:2.5rem;color:#fff;background:none;border:none;cursor:pointer;line-height:1}.legal-page section{margin-bottom:calc(var(--spacing-unit) * 2)}.legal-page h2{font-size:1.1rem;margin-top:var(--spacing-unit)}.legal-updated{color:var(--color-text-muted);font-size:.9rem;margin-bottom:calc(var(--spacing-unit) * 2)}.site-footer{border-top:1px solid var(--color-border);padding:calc(var(--spacing-unit) * 1.5) var(--spacing-unit);text-align:center;color:var(--color-text-muted);font-size:.85rem}.footer-links{margin-top:calc(var(--spacing-unit) * .5)}.footer-links a{color:var(--color-text-muted);border:none}.footer-links a:hover{color:var(--color-text)}.footer-divider{margin:0 .5rem}.author-page .bio{margin-bottom:calc(var(--spacing-unit) * 3)}.representation{margin-top:calc(var(--spacing-unit) * 3);padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid var(--color-border)}.representation p{color:var(--color-text-muted);font-size:.95rem}.books-section h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:calc(var(--spacing-unit) * 1.5)}.books-intro{color:var(--color-text-muted);margin-bottom:calc(var(--spacing-unit) * 2)}.books-more{color:var(--color-text-muted);margin-top:calc(var(--spacing-unit) * 2);text-align:center}.books-grid{display:grid;gap:var(--spacing-unit);grid-template-columns:repeat(2,minmax(0,1fr))}.book-series{border:1px solid var(--color-text);padding:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 2)}.book-series-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-unit);padding-bottom:var(--spacing-unit)}.book-series-header h3{margin-top:0;margin-bottom:calc(var(--spacing-unit) * .5)}.book-series-header p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:0}.book-series .books-grid{gap:0}.book-series .book-card{border:none;border-top:1px solid var(--color-border);padding-left:0;padding-right:0}.book-series .book-card:first-child{border-top:none;padding-top:0}.book-series .book-card:last-child{padding-bottom:0}.standalone-books{margin-top:calc(var(--spacing-unit) * 2)}.book-card{position:relative;border:1px solid var(--color-border);display:flex;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 1.5);transition:border-color .2s ease}.book-card:hover{border-color:var(--color-text)}.book-badge{position:absolute;top:-10px;right:-10px;background-color:var(--color-text);color:var(--color-bg);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;border-radius:2px}.book-cover{width:112px;height:165px;object-fit:contain;object-position:center;background-color:#fff;flex-shrink:0}.book-info{display:flex;flex-direction:column}.book-card h3{font-family:var(--font-serif);font-size:1.15rem;margin-top:0;margin-bottom:calc(var(--spacing-unit) * .5)}.book-card p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-unit)}.book-link{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-top:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-unit);margin-bottom:calc(var(--spacing-unit) * 3);text-align:center}.stat-item{border:1px solid var(--color-border);padding:calc(var(--spacing-unit) * 1.5)}.stat-value{display:block;font-family:var(--font-serif);font-size:1.75rem;margin-bottom:calc(var(--spacing-unit) * .25)}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.cto-bio{margin-bottom:calc(var(--spacing-unit) * 2)}.cto-cta{margin-bottom:calc(var(--spacing-unit) * 3)}.codexdeus-link{display:inline-block;border:1px solid var(--color-text);padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;transition:background-color .2s ease,color .2s ease}.codexdeus-link:hover{background-color:var(--color-text);color:var(--color-bg)}.cto-social h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-unit)}.social-links-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-unit)}.social-link-item{font-size:.85rem;padding:calc(var(--spacing-unit) * .5) var(--spacing-unit);border:1px solid var(--color-border);transition:border-color .2s ease}.social-link-item:hover{border-color:var(--color-text)}.real-estate-page .bio{margin-bottom:calc(var(--spacing-unit) * 2)}.section-note{color:var(--color-text-muted);font-size:.95rem}.compact-list{columns:2;column-gap:calc(var(--spacing-unit) * 2);padding-left:calc(var(--spacing-unit) * 1.25)}.transaction-table-wrap{overflow-x:auto;border:1px solid var(--color-border)}.transaction-table{width:100%;border-collapse:collapse;min-width:760px;font-size:.78rem;line-height:1.35}.transaction-table th,.transaction-table td{border-bottom:1px solid var(--color-border);padding:calc(var(--spacing-unit) * .45);text-align:left;vertical-align:top}.transaction-table th{background-color:#00000008;color:var(--color-text-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.transaction-table td:first-child,.transaction-table th:first-child{width:44px;text-align:right}@media (max-width: 768px){.hamburger{display:flex}.nav{position:relative}.nav-main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:var(--color-bg);border:1px solid var(--color-border);border-top:none;padding:var(--spacing-unit);gap:0;z-index:100}.nav-main.open{display:flex}.nav-main li{text-align:center;padding:calc(var(--spacing-unit) * .75) 0;border-bottom:1px solid var(--color-border)}.nav-main li:last-child{border-bottom:none}.nav-brand a{font-size:.95rem}.nav-headshot{width:36px;height:36px}.gallery-grid,.stats-grid,.pillar-grid,.project-grid,.books-grid{grid-template-columns:1fr}.stat-item{padding:var(--spacing-unit)}.compact-list{columns:1}.stat-value{font-size:1.5rem}.books-grid{grid-template-columns:1fr}.book-card{flex-direction:column}.book-cover{width:180px;height:265px;max-width:100%}.social-links-grid{flex-direction:column}}
