*,:before,:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;padding:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}:where(p,li,td,th,label,dd,dt,figcaption) :where(a,strong):before{content:" "}:root{--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-body:"Inter", system-ui, sans-serif;--color-bg:#f6f0ef;--color-bg-soft:#efe6e4;--color-brand:#b99795;--color-brand-deep:#9a7a77;--color-text:#2a2221;--color-text-muted:#5c4f4d;--color-heading:#1f1918;--color-accent:#b99795;--color-on-brand:#fff;--color-ink:#111;--space-section:clamp(4.5rem, 10vw, 7.5rem);--space-gutter:clamp(1rem, 4vw, 2.5rem);--content-wide:72rem;--content-narrow:38rem;--nav-height:4.85rem;--ease-slow:cubic-bezier(.22, 1, .36, 1);--radius-soft:.15rem}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:.01em;font-size:1.0625rem;line-height:1.65}h1,h2,h3{color:var(--color-heading);font-family:var(--font-display), Georgia, serif;letter-spacing:.01em;font-weight:500;line-height:1.15}a{color:var(--color-brand-deep);text-underline-offset:.2em;transition:color .35s var(--ease-slow), opacity .35s var(--ease-slow);text-decoration-thickness:1px}a:hover{color:var(--color-ink)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-brand-deep);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-label{color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .85rem;font-size:.75rem;font-weight:500}.site-title{overflow-wrap:anywhere;margin:0 0 1rem;font-size:clamp(2rem,4.5vw,3.15rem);font-style:italic;font-weight:500}.site-lead{max-width:36rem;color:var(--color-text-muted);margin:0;font-size:1.05rem}.section-shell{width:min(100% - (var(--space-gutter) * 2), var(--content-wide));margin-inline:auto}.btn{border-radius:var(--radius-soft);letter-spacing:.14em;text-transform:uppercase;min-height:2.85rem;transition:background-color .4s var(--ease-slow), color .4s var(--ease-slow), border-color .4s var(--ease-slow), transform .4s var(--ease-slow);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.35rem;font-family:inherit;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-ink);color:var(--color-on-brand);border-color:var(--color-ink)}.btn-primary:hover{background:var(--color-brand-deep);border-color:var(--color-brand-deep);color:var(--color-on-brand)}.btn-ghost{color:var(--color-ink);border-color:color-mix(in srgb, var(--color-ink) 28%, transparent);background:0 0}.btn-ghost:hover{border-color:var(--color-ink);color:var(--color-ink)}.btn-on-media{background:color-mix(in srgb, var(--color-on-brand) 12%, transparent);color:var(--color-on-brand);border-color:color-mix(in srgb, var(--color-on-brand) 55%, transparent);backdrop-filter:blur(6px)}.btn-on-media:hover{background:var(--color-on-brand);color:var(--color-ink);border-color:var(--color-on-brand)}.site-header{z-index:40;height:var(--nav-height);background:var(--color-brand);color:var(--color-on-brand);position:fixed;inset:0 0 auto}.site-header__inner{width:min(100% - (var(--space-gutter) * 2), var(--content-wide));justify-content:space-between;align-items:center;gap:1rem;height:100%;margin-inline:auto;display:flex}.site-logo{align-items:center;height:100%;line-height:0;text-decoration:none;display:inline-flex}.site-logo img{object-fit:contain;width:auto;max-width:min(16.5rem,64vw);height:clamp(2.65rem,5.5vw,3.15rem);display:block}.site-logo:hover{opacity:.92}.site-nav{align-items:center;gap:1.5rem;display:none}.site-nav a{color:color-mix(in srgb, var(--color-on-brand) 88%, transparent);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--color-on-brand)}.site-nav__cta{border:1px solid color-mix(in srgb, var(--color-on-brand) 45%, transparent);padding:.55rem .95rem;color:var(--color-on-brand)!important}.site-nav__cta:hover{background:var(--color-on-brand);color:var(--color-ink)!important}.nav-toggle{z-index:60;border:1px solid color-mix(in srgb, var(--color-on-brand) 40%, transparent);width:2.5rem;height:2.5rem;color:var(--color-on-brand);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{width:1rem;height:1px;transition:transform .35s var(--ease-slow), opacity .35s var(--ease-slow);background:currentColor;display:block}.nav-toggle__icon{position:relative}.nav-toggle__icon:before,.nav-toggle__icon:after{content:"";position:absolute;left:0}.nav-toggle__icon:before{top:-5px}.nav-toggle__icon:after{top:5px}.site-header.menu-open .nav-toggle__icon{background:0 0}.site-header.menu-open .nav-toggle__icon:before{top:0;transform:rotate(45deg)}.site-header.menu-open .nav-toggle__icon:after{top:0;transform:rotate(-45deg)}.site-nav.is-open{z-index:50;padding:calc(var(--nav-height) + 1.5rem) var(--space-gutter) 2rem;background:var(--color-brand);flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex;position:fixed;inset:0}.site-nav.is-open a{border-bottom:1px solid color-mix(in srgb, var(--color-on-brand) 14%, transparent);padding:1rem 0;font-size:.95rem}.site-nav.is-open .site-nav__cta{border-bottom-color:color-mix(in srgb, var(--color-on-brand) 45%, transparent);width:fit-content;margin-top:1.25rem}body.menu-open{overflow:hidden}@media (width>=900px){.nav-toggle{display:none}.site-nav{display:flex}.site-nav.is-open{background:0 0;flex-direction:row;justify-content:flex-end;align-items:center;gap:1.5rem;padding:0;position:static;inset:auto}.site-nav.is-open a{border:0;padding:0;font-size:.72rem}.site-nav.is-open .site-nav__cta{width:auto;margin-top:0}body.menu-open{overflow:auto}}.hero{min-height:100svh;padding:calc(var(--nav-height) + 2.5rem) var(--space-gutter) clamp(3rem, 7vw, 5.5rem);color:var(--color-on-brand);background:#2a2221;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero__media{position:absolute;inset:0;overflow:hidden}.hero__media img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.hero__veil{background:linear-gradient(#140e0d73 0%,#140e0d1f 34%,#140e0d7a 68%,#140e0dd1 100%),linear-gradient(105deg,#140e0d94 0%,#140e0d2e 48%,#0000 72%);position:absolute;inset:0}.hero__content{z-index:1;width:min(100%,40rem);max-width:100%;position:relative}.hero__brand{color:color-mix(in srgb, var(--color-on-brand) 78%, transparent);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:.32em;text-transform:uppercase;margin:0 0 1.15rem;font-size:.7rem;font-weight:500}.hero__title{color:var(--color-on-brand);font-family:var(--font-display), Georgia, serif;letter-spacing:.005em;text-wrap:balance;overflow-wrap:anywhere;text-shadow:0 18px 50px #0006;margin:0;font-size:clamp(2.6rem,11vw,7.5rem);font-style:italic;font-weight:500;line-height:.95}.hero__rule{background:color-mix(in srgb, var(--color-on-brand) 55%, transparent);width:3.5rem;height:1px;margin:1.5rem 0 0;display:block}.hero__tag{color:color-mix(in srgb, var(--color-on-brand) 80%, transparent);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:.3em;text-transform:uppercase;margin:1.25rem 0 0;font-size:.74rem;font-weight:500}.hero__text{max-width:24rem;color:color-mix(in srgb, var(--color-on-brand) 86%, transparent);text-shadow:0 8px 28px #00000059;margin:1.35rem 0 0;font-size:clamp(.98rem,1.8vw,1.08rem);line-height:1.75}.hero__scroll{right:var(--space-gutter);z-index:1;color:color-mix(in srgb, var(--color-on-brand) 68%, transparent);letter-spacing:.24em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.66rem;text-decoration:none;position:absolute;bottom:clamp(3rem,7vw,5.5rem);transform:rotate(180deg)}.hero__scroll:hover{color:var(--color-on-brand)}@media (width<=640px){.hero__scroll{writing-mode:horizontal-tb;left:var(--space-gutter);right:auto;transform:none}.hero__content{padding-bottom:2.75rem}}.intro{padding-block:var(--space-section);background:var(--color-bg)}.intro__grid{gap:2.5rem;display:grid}@media (width>=800px){.intro__grid{grid-template-columns:1.4fr 1fr;align-items:end;gap:4rem}}.contact-bar{flex-wrap:wrap;gap:.75rem;display:flex}.about{padding-block:var(--space-section);background:var(--color-bg-soft)}.about__layout{gap:2.5rem;display:grid}@media (width>=900px){.about__layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:4rem}}.about__figure{border-radius:var(--radius-soft);background:var(--color-brand);margin:0;overflow:hidden}.about__figure img{aspect-ratio:4/5;object-fit:cover;object-position:center 18%;width:100%;height:auto;transition:transform .8s var(--ease-slow);display:block}.about__figure:hover img{transform:scale(1.03)}.about__copy p{color:var(--color-text-muted);max-width:34rem;margin:0 0 1.15rem}.about__actions{margin-top:1.75rem}.gallery{padding-block:var(--space-section);background:var(--color-bg)}.gallery__head{width:min(100%, var(--content-narrow));margin-bottom:clamp(2rem,5vw,3rem)}.gallery__grid{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=640px){.gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=980px){.gallery__grid{grid-template-columns:repeat(12,1fr);gap:1rem}.gallery__item:first-child{grid-column:span 7}.gallery__item:nth-child(2),.gallery__item:nth-child(3){grid-column:span 5}.gallery__item:nth-child(4){grid-column:span 7}.gallery__item:nth-child(5),.gallery__item:nth-child(6){grid-column:span 6}}.gallery__item{border-radius:var(--radius-soft);background:var(--color-bg-soft);margin:0;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;min-height:16rem;transition:transform .9s var(--ease-slow);display:block}.gallery__item:hover img{transform:scale(1.04)}.services{padding-block:var(--space-section);background:var(--color-bg)}.services__head{width:min(100%, var(--content-narrow));margin-bottom:clamp(2rem,5vw,3rem)}.services__grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=700px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.services__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.service-card{border-radius:var(--radius-soft);background:var(--color-bg-soft);flex-direction:column;display:flex;overflow:hidden}.service-card__media{background:var(--color-brand);margin:0;overflow:hidden}.service-card__media img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform .8s var(--ease-slow);display:block}.service-card:hover .service-card__media img{transform:scale(1.04)}.service-card__body{flex-direction:column;flex:1;gap:.55rem;padding:1.15rem 1.15rem 1.35rem;display:flex}.service-card__title{font-family:var(--font-display), Georgia, serif;margin:0;font-size:1.55rem;font-style:italic;font-weight:500}.service-card__body p{color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.6}.services__extra{gap:1rem;margin-top:1.5rem;display:grid}@media (width>=700px){.services__extra{grid-template-columns:repeat(2,1fr)}}.service-note{border:1px solid color-mix(in srgb, var(--color-brand) 35%, transparent);border-radius:var(--radius-soft);background:color-mix(in srgb, var(--color-bg-soft) 70%, white);padding:1.15rem 1.25rem}.service-note__title{font-family:var(--font-display), Georgia, serif;margin:0 0 .4rem;font-size:1.35rem;font-style:italic;font-weight:500}.service-note p{color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.55}.services__cta{margin-top:2rem}.place,.contacts{padding-block:var(--space-section)}.place{background:var(--color-bg-soft)}.contacts{background:var(--color-brand);color:var(--color-on-brand)}.contacts .site-label,.contacts .site-title,.contacts .site-lead,.contacts a{color:var(--color-on-brand)}.contacts .site-lead,.contacts .site-label{color:color-mix(in srgb, var(--color-on-brand) 82%, transparent)}.place__layout,.contacts__layout{gap:2rem;display:grid}@media (width>=800px){.place__layout,.contacts__layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:3.5rem}}.hours-table{border-top:1px solid color-mix(in srgb, var(--color-brand) 30%, transparent);gap:.3rem 0;width:max-content;max-width:100%;margin:1.15rem 0 0;padding:.85rem 0 0;font-size:.92rem;display:grid}.hours-table__row{grid-template-columns:6.5rem auto;align-items:baseline;column-gap:1.5rem;display:grid}.hours-table__day{color:var(--color-text-muted);font-weight:500}.hours-table__time{color:var(--color-heading);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right}.contact-list{margin:1.5rem 0 0;padding:0;list-style:none}.contact-list li{border-top:1px solid color-mix(in srgb, currentColor 16%, transparent);flex-wrap:wrap;gap:.35rem .75rem;padding:.7rem 0;font-size:.98rem;display:flex}.contact-list li:last-child{border-bottom:1px solid color-mix(in srgb, currentColor 16%, transparent)}.contact-list a{letter-spacing:.02em;text-decoration:none}.contact-list a:hover{text-decoration:underline}.place__map-card{border-radius:var(--radius-soft);background:var(--color-brand);min-height:280px;margin:0;overflow:hidden}.place__map-card iframe{border:0;width:100%;max-width:100%;height:320px;display:block}.contacts__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.contacts .btn-primary{background:var(--color-on-brand);color:var(--color-ink);border-color:var(--color-on-brand)}.contacts .btn-primary:hover{background:var(--color-bg);border-color:var(--color-bg)}.contacts .btn-ghost{color:var(--color-on-brand);border-color:color-mix(in srgb, var(--color-on-brand) 45%, transparent)}.contacts .btn-ghost:hover{background:color-mix(in srgb, var(--color-on-brand) 12%, transparent);color:var(--color-on-brand);border-color:var(--color-on-brand)}.site-footer{padding:3rem var(--space-gutter) 2.5rem;background:var(--color-brand);color:color-mix(in srgb, var(--color-on-brand) 88%, transparent)}.site-footer__inner{width:min(100%, var(--content-wide));gap:2rem;margin-inline:auto;display:grid}.site-footer__grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=720px){.site-footer__grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:1.75rem}}.site-footer__brand,.site-footer__col{align-content:start;gap:.45rem;display:grid}.site-footer__logo{width:fit-content;margin-bottom:.35rem;line-height:0;display:inline-flex}.site-footer__logo img{object-fit:contain;width:auto;max-width:14rem;height:2.75rem;display:block}.site-footer__name{font-family:var(--font-display), Georgia, serif;color:var(--color-on-brand);margin:0;font-size:1.25rem;font-style:italic}.site-footer__heading{color:var(--color-on-brand);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:500}.site-footer p,.site-footer address{margin:0;font-size:.92rem;font-style:normal}.site-footer__col a{color:var(--color-on-brand);overflow-wrap:anywhere;font-size:.92rem;text-decoration:none}.site-footer__col a:hover{text-decoration:underline}.site-footer__credit{border-top:1px solid color-mix(in srgb, var(--color-on-brand) 18%, transparent);margin:0;padding-top:1.25rem;font-size:.85rem}.site-footer__facilebrand{color:var(--color-on-brand);text-decoration:none}.site-footer__facilebrand strong{font-family:Poppins,system-ui,sans-serif;font-weight:700}.site-footer__facilebrand:hover{text-decoration:underline}.legal-page{padding-top:calc(var(--nav-height) + 2rem)}.legal-prose a{color:var(--color-brand-deep)}.not-found-actions{margin-top:1.75rem}.site-header{transition:background-color .45s var(--ease-slow), box-shadow .45s var(--ease-slow), backdrop-filter .45s var(--ease-slow)}.site-header.is-scrolled{box-shadow:0 10px 28px #1a121129}.site-nav a{position:relative}.site-nav a:not(.site-nav__cta):after{content:"";transform-origin:0;height:1px;transition:transform .45s var(--ease-slow);background:currentColor;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.site-nav a:not(.site-nav__cta):hover:after,.site-nav a:not(.site-nav__cta):focus-visible:after{transform:scaleX(1)}.btn{transition:background-color .4s var(--ease-slow), color .4s var(--ease-slow), border-color .4s var(--ease-slow), transform .4s var(--ease-slow), box-shadow .4s var(--ease-slow)}.btn:hover{transform:translateY(-1px)}.btn-primary:hover{box-shadow:0 10px 24px #1111112e}.hero-entrance>*{animation:hero-rise .9s var(--ease-slow) both}.hero-entrance>:first-child{animation-delay:80ms}.hero-entrance>:nth-child(2){animation-delay:.18s}.hero-entrance>:nth-child(3){animation-delay:.28s}.hero-entrance>:nth-child(4){animation-delay:.36s}.hero-entrance>:nth-child(5){animation-delay:.44s}.hero__scroll{animation:hero-rise 1s var(--ease-slow) .7s both}@keyframes hero-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-slow), transform .7s var(--ease-slow);transform:translateY(22px)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.about__figure img,.gallery__item img,.service-card__media img,.btn,.site-header,.site-nav a:not(.site-nav__cta):after,[data-reveal]{transition:none}.about__figure:hover img,.gallery__item:hover img,.service-card:hover .service-card__media img,.btn:hover{transform:none}.hero-entrance>*,.hero__scroll{animation:none}.js [data-reveal]{opacity:1;transition:none;transform:none}}
