:root{font-family:Manrope,sans-serif;color:#261c18;background:#f7f3ee;line-height:1.6;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#faf6f1,#f4eee7)}a{color:inherit;text-decoration:none}img{display:block;width:100%}.page-shell{width:100%;margin:0 auto;padding:.8rem .95rem 2rem}.hero-section,.intro-section,.specialties-block,.gallery-section,.photo-rail-section,.contact-section,.site-footer{margin-top:1.35rem}.hero-section,.intro-section,.gallery-section,.photo-rail-section,.contact-section,.site-footer{animation:fadeUp .56s ease both}.hero-nav,.hero-grid,.intro-section,.gallery-section,.photo-rail-section,.contact-section{display:grid}.site-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-bottom:.95rem;border-bottom:1px solid rgba(130,109,97,.14)}.brand-lockup{display:flex;flex-direction:column;min-width:0}.hero-grid,.intro-section,.gallery-section,.photo-rail-section,.contact-section{gap:1rem}.brand-name,.brand-location,.section-label,.card-kicker,.site-footer p{margin:0}.section-label,.card-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:#8c6c5e}.brand-name{font-size:1rem;font-weight:700;color:#231914}.brand-location{margin-top:.2rem;font-size:.92rem;color:#261c1899}h1,h2{margin:0;font-family:Cormorant Garamond,serif;font-weight:600;line-height:.98;color:#241814;letter-spacing:-.015em}h1{margin-top:.15rem;max-width:none;font-size:clamp(2.85rem,11.5vw,4rem)}h2{margin-top:.65rem;max-width:none;font-size:clamp(2rem,9vw,3rem)}.lead,.hero-subhead,.intro-copy p,.gallery-copy p,.photo-rail-copy p,.contact-copy p,.specialty-card p,.site-footer p{color:#261c18b8}.hero-subhead{max-width:22rem;margin:.8rem 0 0;font-size:.96rem}.lead{max-width:26rem;margin:.85rem 0 0;font-size:.98rem}.hero-image-panel,.intro-image,.gallery-card{overflow:hidden;border-radius:24px;background:#ece4dc}.hero-image-panel{min-height:17rem}.intro-image{min-height:15.5rem}.gallery-card-large{min-height:18rem}.hero-image-panel img,.intro-image img,.gallery-card img{height:100%;object-fit:cover}.intro-section,.gallery-section,.photo-rail-section,.contact-section,.specialties-block{padding-top:1rem;border-top:1px solid rgba(130,109,97,.18)}.intro-copy p,.gallery-copy p,.photo-rail-copy p,.contact-copy p{margin:.8rem 0 0;max-width:26rem}.specialties-grid{display:grid;gap:0;margin-top:.8rem}.specialty-card{padding:.8rem 0;border-top:1px solid rgba(130,109,97,.12)}.specialty-card p{margin-top:.35rem;font-size:.98rem}.photo-rail{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:.85rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-rail::-webkit-scrollbar{display:none}.photo-slide{scroll-snap-align:start;overflow:hidden;border-radius:20px;background:#ece4dc;aspect-ratio:4 / 5}.photo-slide img{height:100%;object-fit:cover}.contact-heading{margin:.5rem 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1;color:#241814}.contact-note{max-width:32rem}.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.8rem 1.1rem;border-radius:999px;background:#304b34;color:#f7f1ea;font-weight:700;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.contact-link:hover{transform:translateY(-1px);background:#273d2b;box-shadow:0 12px 24px #304b3424}.hero-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.62rem .92rem;border-radius:999px;border:1px solid rgba(183,132,151,.22);color:#5a2740;font-weight:600;background:linear-gradient(135deg,#f8dce5fa,#f4cbdaf0);box-shadow:0 10px 20px #b886991f;white-space:nowrap}.hero-contact-link:hover{background:linear-gradient(135deg,#fae5ec,#f6d4e1fa)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding-top:.95rem;border-top:1px solid rgba(130,109,97,.14)}.footer-lockup{display:flex;flex-direction:column;min-width:0}.footer-brand{font-size:1rem;font-weight:700;color:#231914}.footer-location{margin-top:.2rem;font-size:.92rem;color:#261c1899}.footer-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.62rem .92rem;border-radius:999px;border:1px solid rgba(183,132,151,.22);color:#5a2740;font-weight:600;background:linear-gradient(135deg,#f8dce5fa,#f4cbdaf0);box-shadow:0 10px 20px #b886991f;white-space:nowrap}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(min-width:820px){.page-shell{width:min(1180px,calc(100% - 3rem));padding:1.25rem 0 2rem}.hero-section,.intro-section,.specialties-block,.gallery-section,.photo-rail-section,.contact-section,.site-footer{margin-top:1.75rem}.site-header{gap:1rem;padding-bottom:1.1rem}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);align-items:center;gap:3rem}h1{max-width:8.8ch;font-size:clamp(3rem,6vw,5.8rem)}h2{max-width:10.5ch;font-size:clamp(2.1rem,5vw,4rem)}.hero-subhead{max-width:28rem;font-size:.98rem}.lead{max-width:34rem;margin-top:1rem;font-size:1rem}.hero-image-panel{min-height:31rem}.intro-section{grid-template-columns:minmax(320px,.78fr) minmax(0,1fr);align-items:center;gap:3rem}.intro-image{min-height:25rem}.specialties-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1rem}.gallery-section{grid-template-columns:minmax(0,.62fr) minmax(480px,1.38fr);align-items:center;gap:3rem}.gallery-card-large{min-height:34rem}.photo-rail{grid-auto-columns:minmax(280px,24rem)}.intro-section,.gallery-section,.photo-rail-section,.contact-section,.specialties-block{padding-top:1.25rem}.contact-section{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem}.site-footer{padding-top:1.1rem}.footer-contact-link{width:fit-content}}@media(max-width:819px){.site-header{align-items:center;flex-direction:row;gap:.75rem;padding-bottom:.9rem}.brand-lockup{flex:1}.hero-contact-link{min-height:2.7rem;padding-inline:.95rem}}
