/* System font stack keeps text visible without a third-party font request. */
:root{--ink:#24231f;--stone:#b9ad87;--accent:#675a3c;--paper:#f5f1e9;--line:#d8d0c1;--white:#fff;--dark:#171715;font-family:'Assistant',Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit}button{font:inherit}h1,h2,h3{font-family:'Heebo','Assistant',sans-serif;line-height:1.16}p{line-height:1.7}main{display:block}.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;z-index:100}.skip-link:focus{position:fixed;top:1rem;right:1rem;width:auto;height:auto;margin:0;padding:.6rem 1rem;clip:auto;background:var(--dark);color:#fff;border-radius:4px}:focus-visible{outline:3px solid #ad7444;outline-offset:3px}
.site-header{position:absolute;z-index:4;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem clamp(1.25rem,4vw,5rem);color:#171715}.site-brand{display:flex;flex-direction:column;text-decoration:none;font-family:'Heebo',sans-serif;font-size:1.35rem;font-weight:700;line-height:1.15}.site-brand span{font-size:.77rem;font-weight:500;letter-spacing:.03em}.site-header nav{display:flex;flex-wrap:wrap;gap:1.5rem}.site-header nav a{text-decoration:none;font-weight:700;font-size:.95rem;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible{border-color:currentColor}
.hero{height:min(73vw,640px);min-height:460px;position:relative;display:grid;place-items:center;overflow:hidden;background:#b9b6af url('/images/hero.webp') center/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(235,233,226,.08) 100%)}.hero-logo{position:absolute;z-index:1;width:clamp(180px,32vw,420px);right:10%;top:12%;opacity:.88;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.hero-caption{position:absolute;z-index:1;bottom:1.8rem;left:clamp(1.25rem,4vw,5rem);font-size:.9rem;letter-spacing:.26em;color:#30302c}.hero-shade{display:none}
.intro{position:relative;background:var(--stone);min-height:300px;padding:6.8rem clamp(1.25rem,8vw,8rem) 5rem}.portrait{position:absolute;width:250px;height:250px;object-fit:cover;border-radius:50%;border:8px solid var(--stone);top:-125px;left:clamp(2rem,12vw,12rem)}.intro-copy{max-width:720px}.eyebrow{margin:0 0 1rem;color:#584c35;letter-spacing:.17em;font-size:.86rem;font-weight:800}.intro h1{font-size:clamp(2.5rem,5vw,5rem);margin:0 0 .7rem;font-weight:600}.intro .lead{font-size:clamp(1.2rem,2vw,1.65rem);margin:0 0 1.6rem;line-height:1.45}.text-link{display:inline-flex;gap:.7rem;align-items:center;font-weight:800;text-decoration:none;border-bottom:2px solid var(--dark);padding-bottom:.3rem}
.section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,7vw,7rem)}.section-head{max-width:800px;margin-bottom:2.5rem}.section-head h2{font-size:clamp(2.2rem,4.5vw,4rem);margin:0 0 .9rem;font-weight:600}.section-head>p:last-child{font-size:1.18rem;margin:0}.about-section{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,6rem);background:#f8f5ef}.about-section .section-copy{font-size:1.24rem}.about-section .section-copy p{margin:0}.services-section{background:#e8e1d2}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bcb3a1;border:1px solid #bcb3a1}.service-card{background:#f3eee4;min-height:250px;padding:2rem}.service-num{font-size:.85rem;color:var(--accent);font-weight:800;letter-spacing:.2em}.service-card h3{font-size:1.5rem;margin:2rem 0 .7rem}.service-card p{margin:0;font-size:1.05rem}.source-details{max-width:900px;margin:2rem auto 0;border-top:1px solid #bcb3a1;border-bottom:1px solid #bcb3a1;padding:1rem}.source-details summary{cursor:pointer;font-weight:700}.source-details p{font-size:1rem}
.gallery-section{background:#21211e;color:#f6f1e7}.gallery-section .eyebrow{color:#c0b18f}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.gallery-item{display:block;aspect-ratio:1.25;overflow:hidden;background:#44443e}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.055)}
.contact-section{background:#f1ece2}.contact-list{border-top:1px solid var(--line);max-width:1150px}.contact-list a{display:grid;grid-template-columns:3.25rem 1fr auto;align-items:center;gap:1rem;min-height:80px;padding:.6rem .5rem;border-bottom:1px solid var(--line);text-decoration:none}.contact-list a:hover{background:#e7dfd0}.contact-list strong{font-size:1.05rem}.contact-icon{font-size:1.7rem}.social-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.social-links a{display:flex;gap:.5rem;text-decoration:none;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:.25rem}.site-footer{background:#151514;color:#f4eee1;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,7vw,7rem)}.site-footer>div{display:flex;flex-direction:column;gap:.25rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:1.5rem}.site-footer a{text-decoration:none;border-bottom:1px solid #a39578}.simple-page{max-width:820px;margin:0 auto;min-height:60vh;padding:10rem 1.25rem 5rem}.simple-page h1{font-size:clamp(2.2rem,5vw,4rem)}.simple-page p,.simple-page li{font-size:1.2rem}.button{display:inline-block;background:var(--dark);color:#fff;padding:.75rem 1.25rem;margin-top:1rem;text-decoration:none;border-radius:2px}
.lightbox{position:fixed;z-index:50;inset:0;background:rgba(12,12,11,.96);display:grid;grid-template-columns:80px 1fr 80px;align-items:center;justify-items:center;padding:2rem}.lightbox[hidden]{display:none}.lightbox img{max-height:88vh;max-width:100%;object-fit:contain;grid-column:2}.lightbox button{border:0;background:transparent;color:white;cursor:pointer;font-size:3rem}.lightbox-close{position:absolute;top:.5rem;left:1.5rem}.lightbox-prev{grid-column:1;grid-row:1}.lightbox-next{grid-column:3;grid-row:1}.lightbox-count{position:absolute;color:white;bottom:1rem;left:50%;transform:translateX(-50%)}
article.legal-container{width:min(100%,780px);overflow-wrap:anywhere}
.eyebrow{font-size:1rem;line-height:1.5;color:#342b20}
@media(max-width:850px){.site-header{align-items:flex-start}.site-header nav{justify-content:flex-end;gap:.55rem 1rem}.hero-logo{right:7%}.about-section{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-header{position:relative;background:#e1dbcf;padding:1rem;display:block}.site-header nav{margin-top:.7rem;justify-content:flex-start}.site-header nav a{font-size:.85rem}.hero{min-height:360px;height:74vw;background-position:36% center}.hero-logo{width:36vw;min-width:130px;right:4%;top:20%}.hero-caption{font-size:.65rem;bottom:1rem;left:1rem}.intro{padding:6rem 1.25rem 3.5rem;text-align:center}.portrait{width:150px;height:150px;top:-75px;left:50%;transform:translateX(-50%);border-width:5px}.intro h1{font-size:2.25rem}.about-section .section-copy{font-size:1.1rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.contact-list a{grid-template-columns:2.5rem 1fr;gap:.4rem;min-height:70px}.contact-list strong{grid-column:2;font-size:.96rem}.site-footer{display:block}.site-footer nav{margin-top:1rem}.lightbox{grid-template-columns:40px 1fr 40px;padding:.5rem}.lightbox button{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
