*{box-sizing:border-box}body{margin:0;background:#fff;color:#172033;font:400 16px/1.6 Inter,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.2}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(100% - 32px,1180px);margin-inline:auto}.section{padding:88px 0;border-top:1px solid rgba(23,32,51,.14)}.section--alt{background:#f7f5f0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.hero__eyebrow{color:#526077;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.separator{display:block;width:64px;height:2px;margin:24px auto 0;background:#d7b56d}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid #172033;font-weight:600;letter-spacing:.04em;transition:background .2s,color .2s}.btn--primary{background:#172033;color:#fff}.btn--outline:hover,.btn--primary:hover{background:#d7b56d;border-color:#d7b56d;color:#172033}.skip-link{position:fixed;left:-999px;top:12px;z-index:100;background:#172033;color:#fff;padding:10px 16px}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(23,32,51,.14);backdrop-filter:blur(10px)}.site-header__inner{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:24px}.site-logo{display:inline-flex;align-items:center;gap:12px;font-family:"Playfair Display",Georgia,serif;font-size:1.25rem}.site-logo__image{width:44px;height:44px}.site-nav{display:flex;align-items:center;gap:24px}.site-nav__link{font-size:.85rem;font-weight:600}.nav-toggle{display:none;border:1px solid #172033;background:#fff;padding:10px}.nav-toggle__icon{display:grid;gap:4px;width:22px}.nav-toggle__bar{display:block;height:2px;background:#172033}.hero{border-top:0;padding:88px 0}.hero__inner{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:64px}.hero__title{max-width:13ch;margin-bottom:20px;font-size:clamp(2.6rem,5vw,4.5rem)}.hero__lead{max-width:52ch;color:#526077;font-size:1.12rem}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero__media{margin:0;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(23,32,51,.14);background:#f7f5f0}.hero__image{width:100%;height:100%;object-fit:cover}.offer__header,.portfolio__header,.process__header{max-width:720px;margin:0 auto 42px;text-align:center}.offer__title,.portfolio__title,.process__title{margin-bottom:12px;font-size:clamp(2rem,3vw,3rem)}.offer__subtitle,.portfolio__subtitle{color:#526077}.offer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.offer-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(23,32,51,.14);background:#fff}.offer-card--premium{border-color:#d7b56d}.offer-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#f7f5f0}.offer-card__img{width:100%;height:100%;object-fit:cover}.offer-card__badge{position:absolute;top:16px;left:16px;padding:5px 9px;background:#172033;color:#fff;font-size:.75rem;font-weight:600}.offer-card__body{display:flex;height:100%;flex-direction:column;padding:28px}.offer-card__title{margin-bottom:0;font-size:1.6rem}.offer-card__accent{width:48px;height:2px;margin:16px 0;background:#d7b56d}.offer-card__price{color:#172033;font-size:.82rem;font-weight:600;text-transform:uppercase}.offer-card__desc{color:#526077}.offer-card__cta{margin-top:auto}.about__inner{display:grid;grid-template-columns:.9fr 1fr;gap:64px;align-items:center}.about__media{aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(23,32,51,.14);background:#f7f5f0}.about__img{width:100%;height:100%;object-fit:cover}.about__lead{color:#526077;font-size:1.15rem}.about__p{color:#526077}.process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;list-style:none}.process__item{padding:24px;border:1px solid rgba(23,32,51,.14);text-align:center}.process__icon{display:inline-flex;color:#172033}.process__label{margin:14px 0 0;font-weight:600}.cta-strip{background:#172033;color:#fff;text-align:center}.cta-strip__title{max-width:820px;margin:0 auto 28px;font-size:clamp(2rem,4vw,3.4rem)}.cta-strip .btn--primary{background:#d7b56d;border-color:#d7b56d;color:#172033}.contact__title{margin-bottom:36px;font-size:clamp(2.4rem,4vw,4rem)}.contact__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px}.contact__text{color:#526077;font-size:1.1rem}.contact__link{color:#172033;font-weight:600;text-decoration:underline;text-underline-offset:4px}.form{display:grid;gap:20px}.form__field{display:grid;gap:8px}.form__label{font-weight:600}.form__input,.form__textarea{width:100%;padding:12px;border:1px solid rgba(23,32,51,.14);background:#fff;color:#172033;font:inherit}.form__input:focus,.form__textarea:focus{outline:2px solid #d7b56d;border-color:#d7b56d}.form__error,.form__notice{margin:0;color:#9d1c1c;font-size:.9rem}.portfolio__filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:34px}.portfolio__filter{border:1px solid rgba(23,32,51,.14);background:#fff;padding:9px 14px;color:#172033;cursor:pointer;font:inherit}.portfolio__filter[aria-pressed=true]{border-color:#172033;background:#172033;color:#fff}.portfolio__masonry{columns:3 260px;column-gap:20px}.portfolio__item{break-inside:avoid;margin:0 0 20px}.portfolio__link{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(23,32,51,.14);background:#f7f5f0}.portfolio__img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.portfolio__link:hover .portfolio__img{transform:scale(1.03)}.portfolio__overlay{position:absolute;inset:auto 0 0;padding:58px 20px 20px;background:linear-gradient(transparent,rgba(23,32,51,.88));color:#fff}.portfolio__overlay-inner{display:grid;gap:4px}.portfolio__overlay-title{font-family:"Playfair Display",Georgia,serif;font-size:1.25rem}.portfolio__overlay-desc{font-size:.9rem}.portfolio__empty,.portfolio__more{margin-top:28px;text-align:center}.footer{padding:64px 0 32px;border-top:1px solid rgba(23,32,51,.14)}.footer__top{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;padding-bottom:36px;border-bottom:1px solid rgba(23,32,51,.14)}.footer__brand-wrap{display:flex;align-items:center;gap:12px}.footer__logo{width:36px;height:36px}.footer__brand{font:1.3rem "Playfair Display",Georgia,serif}.footer__tagline{max-width:40ch;color:#526077}.footer__heading{font-weight:600;text-transform:uppercase;letter-spacing:.08em}.footer__list,.footer__legal{display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:0;list-style:none}.footer__link{background:0;border:0;padding:0;color:#172033;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:4px}.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;color:#526077;font-size:.9rem}.page-intro__content{max-width:760px}.page-intro h1{font-size:clamp(2.5rem,4vw,4rem)}@media(max-width:820px){.nav-toggle{display:block}.site-nav{position:absolute;top:84px;left:0;right:0;display:none;padding:20px 16px;border-bottom:1px solid rgba(23,32,51,.14);background:#fff}.site-nav.is-open{display:grid}.hero__inner,.about__inner,.contact__grid{grid-template-columns:1fr;gap:36px}.offer__grid,.process__grid{grid-template-columns:1fr 1fr}.footer__top{grid-template-columns:1fr}}@media(max-width:560px){.section,.hero{padding:60px 0}.offer__grid,.process__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column}}.site-logo__image{width:164px;height:62px;object-fit:contain;object-position:center}.footer__logo{width:148px;height:54px;object-fit:contain;object-position:center}.hero__inner,.about__inner{align-items:stretch}.hero__content,.about__content{align-self:center}.hero__media,.about__media{height:100%;aspect-ratio:auto}.hero__highlights{display:grid;gap:6px;max-width:52ch;margin:20px 0 0;padding:0;color:#526077;list-style:none}.hero__highlights li::before{content:"•";margin-right:8px;color:#d7b56d}.service-catalog__header{max-width:760px;margin:0 auto 42px;text-align:center}.service-catalog__title{margin-bottom:14px;font-size:clamp(2rem,3vw,3rem)}.service-catalog__notice{margin:0;padding:16px 20px;border:1px solid rgba(23,32,51,.14);background:#fff;color:#526077}.service-catalog__groups{display:grid;gap:28px}.service-catalog__group{padding:28px;border:1px solid rgba(23,32,51,.14);background:#fff}.service-catalog__group-title{margin-bottom:20px;font-size:clamp(1.7rem,2.5vw,2.25rem)}.service-catalog__list{display:grid;gap:0}.service-catalog__item{display:grid;gap:10px;padding:20px 0;border-top:1px solid rgba(23,32,51,.14)}.service-catalog__item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.service-catalog__item h4,.service-catalog__price,.service-catalog__desc,.service-catalog__duration{margin:0}.service-catalog__item h4{font-family:"Playfair Display",Georgia,serif;font-size:1.2rem}.service-catalog__price{flex:none;font-weight:700}.service-catalog__desc,.service-catalog__duration{color:#526077}.service-catalog__duration{font-size:.9rem;font-weight:600}.service-catalog__cta{margin-top:22px}.contact__block{margin-top:30px}.contact__heading{margin-bottom:10px;font-family:Inter,Arial,sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.contact__hours{margin:0}.contact__hours-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid rgba(23,32,51,.14);color:#526077}.contact__hours-row dt,.contact__hours-row dd{margin:0}.contact__hours-row dd{color:#172033;font-weight:600}.contact__amenities{display:grid;gap:6px;margin:0;padding-left:20px;color:#526077}.portfolio__masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-count:unset;column-gap:0;gap:20px}.portfolio__item{break-inside:auto;margin:0}.portfolio__more{display:flex;justify-content:center}.portfolio__more[hidden]{display:none}.portfolio__more-btn{background:#fff}@media(max-width:820px){.hero__media,.about__media{height:auto;aspect-ratio:4/5}.portfolio__masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.portfolio__masonry{grid-template-columns:1fr}.service-catalog__group{padding:22px}.service-catalog__item-heading{align-items:flex-start;flex-direction:column;gap:4px}}
