*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f4ef;--ink:#111;--muted:#8a8480;--border:#e0dbd4;--pad-x:2.5rem;--pad-x-sm:1.25rem;--nav-h:3.75rem}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:Inter,system-ui,sans-serif}h1,h2,h3{font-family:Lyon Display,Cormorant,Georgia,serif}.site-nav{height:var(--nav-h);padding:0 var(--pad-x);z-index:200;background:var(--bg);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.nav-left{align-items:center;display:flex}.nav-links-desktop{gap:2rem;display:flex}.nav-link{color:var(--ink);letter-spacing:.06em;font-size:.8rem;text-decoration:none;transition:opacity .2s}.nav-link:hover{opacity:.45}.nav-menu-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;display:none}.hamburger{flex-direction:column;justify-content:space-between;width:22px;height:14px;display:flex}.hamburger span{background:var(--ink);transform-origin:50%;height:1px;transition:transform .35s,opacity .35s;display:block}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-brand{text-align:center;letter-spacing:.12em;color:var(--ink);font-family:Lyon Display,Cormorant,Georgia,serif;font-size:1.25rem;font-weight:400;text-decoration:none}.nav-actions{justify-content:flex-end;display:flex}.nav-contact-btn{background:var(--ink);color:var(--bg);letter-spacing:.1em;cursor:pointer;border:none;padding:.5rem 1.3rem;font-size:.72rem;text-decoration:none;transition:opacity .25s;display:inline-block}.nav-contact-btn:hover{opacity:.75}.nav-drawer{top:var(--nav-h);background:var(--bg);z-index:190;opacity:0;pointer-events:none;border-bottom:1px solid #0000;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s,border-color .35s;position:fixed;left:0;right:0;overflow:hidden}.nav-drawer.open{opacity:1;border-bottom-color:var(--border);pointer-events:auto;max-height:320px}.nav-drawer-inner{padding:1.75rem var(--pad-x-sm) 2rem;flex-direction:column;display:flex}.nav-drawer-link{letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--border);padding:.6rem 0;font-family:Lyon Display,Cormorant,Georgia,serif;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:300;text-decoration:none;transition:opacity .2s;display:block}.nav-drawer-link:last-child{border-bottom:none}.nav-drawer-link:hover{opacity:.45}.nav-backdrop{z-index:180;-webkit-backdrop-filter:blur(2px);background:#0000000f;position:fixed;inset:0}@media (max-width:640px){.site-nav{padding:0 var(--pad-x-sm)}.nav-links-desktop{display:none}.nav-menu-btn{display:flex}.nav-contact-btn{display:none}}.home{padding-top:var(--nav-h)}.hero{text-align:center;min-height:56vh;padding:4rem var(--pad-x);flex-direction:column;justify-content:center;align-items:center;display:flex}.hero h1{letter-spacing:.01em;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:300;line-height:1.12}.hero-byline{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-top:1.25rem;font-size:.9rem;font-weight:400}.photo-grid{padding:0 var(--pad-x) 5rem;grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.photo-item{display:block}.photo-frame{width:100%;overflow:hidden}.photo-frame img{width:100%;height:auto;transition:transform .7s;display:block}.photo-item:hover .photo-frame img{transform:scale(1.02)}.photo-caption{letter-spacing:.07em;color:var(--muted);text-align:right;margin-top:.6rem;font-size:.75rem;font-style:italic;font-weight:300;display:block}.about-page{min-height:100vh;padding:calc(var(--nav-h) + 3rem) var(--pad-x) 5rem}.about-layout{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;max-width:1080px;margin:0 auto;display:grid}.about-photo{top:calc(var(--nav-h) + 2rem);position:sticky}.about-photo-placeholder{aspect-ratio:3/4;background:#d4c9b8;width:100%}.about-photo img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.about-content h1{margin-bottom:.5rem;font-size:clamp(2rem,4vw,3rem);font-weight:300}.about-subtitle{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:2.5rem;font-size:.8rem;font-weight:400;display:block}.about-content h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.35rem;font-weight:400}.about-content p{color:#444;margin-bottom:1.25rem;font-size:1.05rem;font-weight:300;line-height:1.9}.blog-page{margin-top:var(--nav-h);height:calc(100vh - var(--nav-h));justify-content:center;align-items:center;display:flex}.blog-coming-soon{text-align:center}.blog-coming-soon p{letter-spacing:.08em;color:var(--muted);font-family:Lyon Display,Cormorant,Georgia,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:300}.blog-grid{padding:0 var(--pad-x) 4rem;grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.blog-card{cursor:pointer}.blog-card-image{aspect-ratio:4/3;width:100%;transition:opacity .3s}.blog-card:hover .blog-card-image{opacity:.82}.blog-card-body{padding:1rem 0 .5rem}.blog-card-category{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.72rem;display:block}.blog-card-title{font-size:1.1rem;font-weight:300;line-height:1.5}.contact-page{margin-top:var(--nav-h);padding:4rem var(--pad-x) 0}.contact-heading{letter-spacing:.01em;text-align:center;color:var(--ink);margin-bottom:4rem;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.2}.contact-grid{grid-template-columns:5fr 7fr;align-items:start;gap:5rem;display:grid}.contact-left{padding-bottom:5rem}.contact-right img{width:100%;height:auto;display:block}.contact-intro{color:var(--muted);letter-spacing:.04em;margin-bottom:2.5rem;font-size:.9rem;font-weight:400;line-height:1.7}.contact-rule{background:var(--border);width:2.5rem;height:1px;margin:0 0 2.5rem}.contact-details{flex-direction:column;gap:1rem;display:flex}.contact-line{color:var(--ink);letter-spacing:.03em;align-items:baseline;gap:1.5rem;font-size:1.05rem;font-weight:300;text-decoration:none;transition:opacity .2s;display:flex}.contact-line:hover{opacity:.5}.contact-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right;flex-shrink:0;width:5rem;font-size:.72rem;font-weight:400}.contact-hours{color:var(--muted);font-size:.95rem}.contact-book-btn{background:var(--ink);color:var(--bg);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2.5rem;padding:.65rem 2rem;font-size:.75rem;text-decoration:none;transition:opacity .25s;display:inline-block}.contact-book-btn:hover{opacity:.75}@media (max-width:900px){.about-layout{grid-template-columns:1fr;gap:2rem}.about-photo{position:static}.about-page{padding:calc(var(--nav-h) + 2rem) var(--pad-x) 3rem}.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){:root{--pad-x:var(--pad-x-sm)}.home{padding-top:var(--nav-h)}.hero{padding:3rem var(--pad-x-sm);min-height:44vh}.photo-grid{padding:0 var(--pad-x-sm) 3.5rem;grid-template-columns:1fr;gap:2rem}.blog-grid{padding:0 var(--pad-x-sm) 3rem;grid-template-columns:1fr;gap:1.5rem}.blog-header{padding:3rem var(--pad-x-sm) 2rem}.about-page{padding:calc(var(--nav-h) + 1.5rem) var(--pad-x-sm) 3rem}.contact-page{padding:2.5rem var(--pad-x-sm) 0}.contact-heading{text-align:left;margin-bottom:2.5rem;font-size:clamp(1.8rem,6vw,2.4rem)}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-right{margin:0 calc(-1 * var(--pad-x-sm))}.contact-left{padding-bottom:0}}
