/* Final type and composition layer; font files are served by this site. */
:root{--font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;--font-ui:'Manrope',Arial,Helvetica,sans-serif}
body,button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,.brand,.page-sections .offer-price,.booking-dialog h2{font-family:var(--font-display);font-weight:500}
.brand{font-weight:600;letter-spacing:4px}
.brand span,.page-sections .principles h3,.page-sections .offer-price s,.booking-field select,.booking-field input,.booking-field textarea{font-family:var(--font-ui)}
h3,.button,.desktop-nav,.mobile-menu nav{font-weight:500}
.page-sections h2{letter-spacing:-1.2px;line-height:1.06}
.hero-copy{padding-top:58px;padding-bottom:42px}
.hero-experience{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:500;line-height:1.6;color:#755244;margin-bottom:20px}
.hero-experience::before{content:'';width:34px;height:1px;background:#bc8b71;flex-shrink:0}
.hero h1{font-size:clamp(66px,6.45vw,92px);line-height:1.02;letter-spacing:-1.8px}
.hero h1>span{display:block;white-space:nowrap}
.hero-description{max-width:min(470px,88%);font-size:18px;line-height:1.65;margin-top:24px;color:#6f4b3d}
.hero-refinement{max-width:min(470px,88%);font-size:15px;line-height:1.65;margin-top:12px;color:#755244}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:28px}
.hero-actions .booking-pick{display:inline-flex;align-items:center;margin:0;font-size:13px}
.hero-benefits{margin-top:30px}
.hero-benefits li{font-size:12px;line-height:1.6}
.page-sections{--section-space:96px}
.page-sections #works{padding-top:76px}
.page-sections .section-heading{margin-bottom:34px}
.page-sections .services-section,.page-sections .contacts-section{padding-block:88px}
.page-sections .booking-section{margin-top:8px}
.desktop-nav{position:relative}
.desktop-nav>a{display:inline-flex;align-items:center;min-height:44px}
.nav-indicator{position:absolute;bottom:2px;left:0;height:1px;background:#9b5039;pointer-events:none;opacity:0;transition:transform .28s ease,width .28s ease,opacity .18s}
.desktop-nav>a[aria-current="location"]{color:#733b2d}
.mobile-menu nav a[aria-current="location"]{background:#fae7d8;box-shadow:inset 2px 0 #9b5039}
.lightbox-stage figure{touch-action:pan-y pinch-zoom}
.lightbox-image{user-select:none;-webkit-user-drag:none}
@media(min-width:701px) and (max-width:1000px){
 .hero-copy{padding-top:50px}
 .hero h1{font-size:clamp(49px,6.45vw,64px);letter-spacing:-1px}
 .hero-description{max-width:310px;font-size:16px}
 .hero-refinement{max-width:310px;font-size:14px}
 .hero-experience{font-size:12px;gap:10px;margin-bottom:16px}
 .hero-experience::before{width:25px}
 .hero-actions{gap:8px 16px;margin-top:24px}
 .hero-benefits{margin-top:22px}
}
@media(max-width:1100px){.page-sections{--section-space:80px}.page-sections #works{padding-top:64px}.page-sections .services-section,.page-sections .contacts-section{padding-block:72px}}
@media(max-width:700px){
 .hero-intro{order:1;margin-bottom:12px}
 .hero-experience{order:2;justify-content:center;font-size:12px;gap:10px;margin:0 16px 14px}
 .hero-experience::before{width:26px}
 .hero h1{order:3;font-size:clamp(42px,11.6vw,64px);line-height:1.02;letter-spacing:-.8px;margin-inline:16px}
 .hero-description{order:4;max-width:350px;margin:17px 22px 0;font-size:16px;line-height:1.65;text-align:center}
 .hero-refinement{order:5;max-width:340px;font-size:14px;line-height:1.65;text-align:center;margin:10px 24px 0}
 .hero-photo{order:6;margin-top:14px}
 .hero-actions{order:7;display:flex;flex-direction:column;gap:0;margin-top:20px}
 .hero-actions .booking-pick{margin:8px auto 0;font-size:14px}
 .hero-benefits{order:8;margin-top:19px}
 .page-sections{--section-space:64px}
 .page-sections #works{padding-top:50px}
 .page-sections .section-heading{margin-bottom:28px}
 .page-sections .services-section,.page-sections .contacts-section{padding-block:56px}
 .page-sections .booking-section{margin-top:0}
 .booking-dialog h2{font-size:36px;letter-spacing:-.5px}
 .site-footer .brand{letter-spacing:5px}
}
@media(max-width:360px){
 .hero h1{font-size:40px}
 .hero-description{font-size:15px;margin-inline:20px}
 .hero-refinement{font-size:13px}
 .hero-experience{font-size:11px}
 .hero-benefits li{font-size:10px}
 .booking-dialog h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.nav-indicator{transition:none}}
