@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=Jost:wght@200;300;400;500&display=swap";:root{--color-bg: #f5f2ee;--color-bg-muted: #edeae4;--color-bg-deep: #e4e0d8;--color-border: #ddd8cf;--color-border-dark: #c8c3bc;--color-text-primary: #1e2e3a;--color-text-mid: #3d5260;--color-text-muted: #6b7f8f;--color-text-faint: #a8a097;--color-accent: #6b7f8f;--color-dark: #1e2e3a;--color-light: #f5f2ee;--ease-out: cubic-bezier(.16, 1, .3, 1);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Jost", system-ui, sans-serif;--sidebar-width: 220px;--topbar-height: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;color:var(--color-text-primary);background:var(--color-bg);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:2rem 1.25rem 1.5rem}.page-wrapper{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}main{flex:1}.sidebar-logo{margin-bottom:2.5rem}.logo-link{display:flex;flex-direction:column;gap:.25rem}.logo-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.logo-sub{font-family:var(--font-body);font-size:.58rem;font-weight:300;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-faint)}.sidebar-nav{margin-bottom:1.75rem}.nav-section-label{display:block;font-size:.58rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.7rem;padding-bottom:.45rem;border-bottom:1px solid var(--color-border)}.sidebar-nav ul li a{display:block;font-size:.86rem;font-weight:300;color:var(--color-text-mid);padding:.4rem 0 .4rem 1rem;position:relative;transition:color .2s var(--ease-out)}.sidebar-nav ul li a:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--color-border-dark);transform:translateY(-50%) scale(.7);transition:transform .3s var(--ease-out),background-color .2s}.sidebar-nav ul li a:hover:before,.sidebar-nav ul li a.active:before{transform:translateY(-50%) scale(1.25);background:var(--color-text-primary)}.sidebar-nav ul li a:hover,.sidebar-nav ul li a.active{color:var(--color-text-primary)}.sidebar-footer{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--color-border)}.social-links{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.social-links a{font-size:.78rem;font-weight:300;color:var(--color-text-muted);transition:color .2s var(--ease-out)}.social-links a:hover{color:var(--color-text-primary)}.btn{display:inline-block;font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.65rem 1.3rem;border-radius:2px;transition:all .25s var(--ease-out);cursor:pointer;text-align:center;border:1px solid transparent}.btn-dark{background:var(--color-dark);color:var(--color-light);border-color:var(--color-dark)}.btn-dark:hover{background:var(--color-text-mid);border-color:var(--color-text-mid)}.btn-outline{background:transparent;color:var(--color-text-primary);border-color:var(--color-border-dark)}.btn-outline:hover{border-color:var(--color-text-primary)}.topbar{position:sticky;top:0;height:var(--topbar-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;z-index:50}.topbar-left{display:flex;align-items:center;gap:1rem}.topbar-logo{font-family:var(--font-display);font-style:italic;font-size:1.1rem;font-weight:300;color:var(--color-text-primary)}.topbar-nav{display:flex;gap:2rem}.topbar-nav a{font-size:.8rem;font-weight:300;letter-spacing:.06em;color:var(--color-text-mid);transition:color .2s var(--ease-out)}.topbar-nav a:hover{color:var(--color-text-primary)}.hamburger{display:none;flex-direction:column;gap:5px;padding:4px;background:none;border:none;cursor:pointer}.hamburger span{display:block;width:22px;height:1.5px;background:var(--color-text-primary);transition:all .3s var(--ease-out);border-radius:1px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#1e2e3a73;z-index:99;opacity:0;transition:opacity .28s var(--ease-out)}.sidebar-overlay.active{display:block;opacity:1}.hero{background-color:var(--color-dark);background-image:radial-gradient(ellipse at 8% 60%,rgba(107,127,143,.28) 0%,transparent 52%),radial-gradient(ellipse at 75% 10%,rgba(61,82,96,.45) 0%,transparent 48%),radial-gradient(ellipse at 95% 85%,rgba(30,46,58,.6) 0%,transparent 45%);min-height:calc(100vh - var(--topbar-height));display:flex;align-items:center;padding:5rem 4rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;opacity:.045;pointer-events:none;z-index:1;mix-blend-mode:overlay}.hero-location{position:absolute;top:2.25rem;right:2.25rem;font-size:.65rem;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:#a8a0978c;border:1px solid rgba(168,160,151,.18);padding:.45rem 1rem;border-radius:2px;z-index:2}.hero-inner{max-width:750px;position:relative;z-index:2}.hero-eyebrow{display:inline-flex;align-items:center;gap:.85rem;font-size:.7rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:#a8a097b3;margin-bottom:1.75rem}.hero-eyebrow:after{content:"";display:block;width:3rem;height:1px;background:currentColor;opacity:.5;flex-shrink:0}.hero-tagline{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.5rem);font-weight:300;color:var(--color-light);line-height:1.08;max-width:680px;letter-spacing:-.01em}.hero-tagline-placeholder{font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:#f5f2ee2e;line-height:1.25;max-width:680px;border:1px dashed rgba(168,160,151,.18);padding:1.75rem 2.25rem;border-radius:2px}.gallery-grid-section{padding:5rem 3rem;background:var(--color-bg-muted)}.gallery-grid-section-title{font-family:var(--font-body);font-size:.62rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:1.75rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.category-card{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:2px;display:block;background:var(--color-bg-deep)}.category-card-bg{position:absolute;inset:0;background-color:var(--color-dark);background-size:cover;background-position:center;transition:transform .55s var(--ease-out)}.category-card:hover .category-card-bg{transform:scale(1.06)}.category-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#1e2e3aeb,#1e2e3a14 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem 1.75rem}.category-card-name{font-family:var(--font-display);font-size:1.75rem;font-weight:300;color:var(--color-light);line-height:1;letter-spacing:.02em}.category-card-desc{font-size:.75rem;font-weight:300;color:#f5f2eea6;margin-top:.4rem;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.category-card:hover .category-card-desc{opacity:1;transform:translateY(0)}.category-card-filler .category-card-bg{background-color:var(--color-text-faint);opacity:.3}.category-card-filler:hover .category-card-bg{transform:none}.bio-strip{padding:5rem 3rem;background:var(--color-bg)}.bio-strip-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;max-width:880px}.bio-card{padding:2.5rem;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:3px}.bio-card p{font-size:.9rem;font-weight:300;line-height:1.8;color:var(--color-text-mid);margin-bottom:1.75rem}.read-more{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:400;letter-spacing:.1em;color:var(--color-text-primary);padding-bottom:2px;border-bottom:1px solid var(--color-border-dark);transition:gap .3s var(--ease-out),border-color .2s}.read-more:hover{gap:.7rem;border-color:var(--color-text-primary)}.bio-card-info h3{font-family:var(--font-display);font-size:1.75rem;font-weight:300;margin-bottom:.3rem;letter-spacing:.01em}.bio-card-info .location{font-size:.68rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.85rem}.bio-card-info .contact-email{font-size:.84rem;font-weight:300;color:var(--color-text-muted);margin-bottom:1.5rem;display:block;transition:color .2s var(--ease-out)}.bio-card-info .contact-email:hover{color:var(--color-text-primary)}.bio-card-info .social-links{flex-direction:row;flex-wrap:wrap;gap:.75rem}.category-page{padding:5rem 3rem}.category-header{margin-bottom:2.75rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.category-header h1{font-family:var(--font-display);font-size:3.5rem;font-weight:300;color:var(--color-text-primary);line-height:1;margin-bottom:.65rem;letter-spacing:.01em}.category-header p{font-size:.87rem;font-weight:300;color:var(--color-text-muted);max-width:480px;letter-spacing:.02em}.photo-grid{columns:3;column-gap:1rem}.photo-item{display:block;break-inside:avoid;margin-bottom:1rem;overflow:hidden;border-radius:2px;background:var(--color-bg-muted)}.photo-item img{width:100%;height:auto;display:block;transition:transform .5s var(--ease-out)}.photo-item:hover img{transform:scale(1.025)}.photo-grid-empty{column-span:all;padding:5rem 0;text-align:center;color:var(--color-text-faint);font-style:italic;font-weight:300;font-size:.9rem}.about-page{padding:5rem 3rem}.about-intro{display:grid;grid-template-columns:280px 1fr;gap:5rem;margin-bottom:0;align-items:start;padding-bottom:5rem}.about-headshot{width:100%;border-radius:3px;aspect-ratio:3 / 4;object-fit:cover;object-position:top center}.about-headshot-placeholder{width:100%;aspect-ratio:3 / 4;background:var(--color-bg-muted);border:2px dashed var(--color-border-dark);border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:.8rem;font-weight:300;text-align:center;padding:1rem}.about-bio h1{font-family:var(--font-display);font-size:3rem;font-weight:300;line-height:1;margin-bottom:.4rem;letter-spacing:.01em}.about-subtitle{font-size:.68rem;font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2.25rem}.about-bio-text{font-size:.93rem;font-weight:300;line-height:1.9;color:var(--color-text-mid);margin-bottom:2.25rem}.about-bio-text p+p{margin-top:1rem}.about-bio .social-links{flex-direction:row;flex-wrap:wrap;gap:1rem}.stats-row{background:radial-gradient(ellipse at 25% 60%,rgba(61,82,96,.55) 0%,transparent 55%),radial-gradient(ellipse at 80% 25%,rgba(107,127,143,.25) 0%,transparent 45%),var(--color-dark);padding:5rem 3rem;display:flex}.stat-item{flex:1;text-align:center;padding:1.5rem 1rem;border-right:1px solid rgba(255,255,255,.07)}.stat-item:last-child{border-right:none}.stat-value{font-family:var(--font-display);font-size:3.5rem;font-weight:300;color:var(--color-light);line-height:1;margin-bottom:.6rem;letter-spacing:-.01em}.stat-label{font-size:.65rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:#a8a09799}.photo-reel-section{overflow:hidden;padding:4rem 0;background:var(--color-bg-muted)}.photo-reel-label{font-size:.6rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-faint);padding:0 3rem;margin-bottom:1.75rem}.reel-track{display:flex;gap:.85rem;width:max-content;animation:reel-scroll 50s linear infinite}.photo-reel-section:hover .reel-track{animation-play-state:paused}.reel-item{flex-shrink:0;height:280px;overflow:hidden;border-radius:2px}.reel-item img{height:100%;width:auto;object-fit:cover;display:block}.reel-empty{padding:2rem 3rem .5rem;color:var(--color-text-faint);font-style:italic;font-weight:300;font-size:.85rem}@keyframes reel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-page{padding:5rem 3rem}.contact-page h1{font-family:var(--font-display);font-size:3rem;font-weight:300;margin-bottom:.5rem;letter-spacing:.01em}.page-sub{font-size:.88rem;font-weight:300;color:var(--color-text-muted);margin-bottom:3.5rem}.contact-layout{display:grid;grid-template-columns:1fr 300px;gap:4rem;max-width:860px}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.68rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.form-group input,.form-group textarea{font-size:.9rem;font-weight:300;color:var(--color-text-primary);background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:2px;padding:.8rem 1rem;width:100%;transition:background .25s var(--ease-out),border-color .2s;resize:vertical;appearance:none}.form-group input:focus,.form-group textarea:focus{outline:none;background:var(--color-bg);border-color:var(--color-accent)}.form-group input::placeholder,.form-group textarea::placeholder{font-style:italic;font-weight:300;color:var(--color-text-faint)}.form-status{font-size:.85rem;font-weight:300;padding:.8rem 1rem;border-radius:2px;display:none}.form-status.visible{display:block}.form-status.success{background:#6b7f8f1a;color:var(--color-text-mid);border:1px solid rgba(107,127,143,.28)}.form-status.error{background:#b4505012;color:#7a3030;border:1px solid rgba(180,80,80,.22)}.contact-info h3{font-family:var(--font-display);font-size:1.5rem;font-weight:300;margin-bottom:1.75rem;letter-spacing:.01em}.contact-info-item{display:flex;flex-direction:column;margin-bottom:1.75rem}.contact-info-label{font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:.3rem}.contact-info-value{font-size:.87rem;font-weight:300;color:var(--color-text-mid);transition:color .2s var(--ease-out)}.contact-info-value:hover{color:var(--color-text-primary)}.contact-info .social-links{flex-direction:column}.page-404{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--topbar-height));text-align:center;padding:2rem}.error-number{font-family:var(--font-display);font-size:10rem;font-weight:300;color:var(--color-border);line-height:1;margin-bottom:.5rem;letter-spacing:-.02em}.page-404 h1{font-family:var(--font-display);font-size:2rem;font-weight:300;margin-bottom:.75rem}.page-404 p{color:var(--color-text-muted);font-weight:300;margin-bottom:2.5rem;font-size:.9rem}@media (max-width: 960px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.about-intro{grid-template-columns:240px 1fr;gap:3.5rem}.contact-layout{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s var(--ease-out);z-index:200}.sidebar.open{transform:translate(0);box-shadow:4px 0 28px #1e2e3a26}.page-wrapper{margin-left:0}.hamburger{display:flex}.topbar{padding:0 1.5rem}.hero{padding:3.5rem 2rem;min-height:70vh}.hero-location{top:1.25rem;right:1.25rem;font-size:.6rem}.gallery-grid-section,.bio-strip{padding:3.5rem 1.5rem}.gallery-grid{gap:.85rem}.bio-strip-grid{grid-template-columns:1fr}.photo-grid{columns:2;column-gap:.75rem}.category-page,.about-page,.contact-page{padding:3rem 1.5rem}.about-intro{grid-template-columns:1fr;gap:2.5rem;padding-bottom:3rem}.about-headshot{max-width:200px;aspect-ratio:1}.stats-row{flex-wrap:wrap;padding:3rem 1.5rem}.stat-item{flex:1 1 50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}.stat-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.07)}.stat-item:last-child,.stat-item:nth-last-child(2):nth-child(odd){border-bottom:none}.photo-reel-label{padding:0 1.5rem}.reel-empty{padding:1.5rem 1.5rem .5rem}}@media (max-width: 520px){.gallery-grid{grid-template-columns:1fr}.photo-grid{columns:1}.topbar-nav{display:none}.reel-item{height:200px}.hero{padding:3rem 1.5rem}}
