/* One quiet, consistent type system from the collection to the enquiry form. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-variable.ttf') format('truetype');
}

:root {
  --sans: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --type-title: clamp(1.875rem, 2.8vw, 2.5rem);
  --type-section: clamp(1.375rem, 1.8vw, 1.75rem);
  --type-copy: 1rem;
  --type-label: .875rem;
  --type-caption: .75rem;
}

body { font-optical-sizing: auto; letter-spacing: -.012em; }
button, input, select, textarea { font-family: var(--sans); }
.brand-name { font-weight: 650; letter-spacing: -.055em; }
.nav-link { font-weight: 500; letter-spacing: -.012em; }
.visit-button, .hero-button, .solid-link, .outline-link {
  font-size: var(--type-label);
  font-weight: 550;
  letter-spacing: -.01em;
}
.eyebrow, .section-kicker, .hero-eyebrow {
  font-size: var(--type-caption);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .1em;
}
.section-kicker { margin-bottom: 16px; }
.collection-intro p {
  font-size: 1.375rem;
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: -.03em;
}
.collection-links a { font-weight: 550; }
.collection-links a span { line-height: 1.6; }
.mobile-menu nav > a, .mobile-collection-toggle {
  font-size: 1rem;
  font-weight: 550;
  letter-spacing: -.02em;
}

.hero-copy h1 {
  font-size: clamp(1.875rem, 3vw, 2.75rem);
  font-weight: 550;
  line-height: 1.18;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.hero-copy > p:last-child { line-height: 1.75; letter-spacing: -.01em; }
.page-shell h1, .work-intro h1 {
  font-size: var(--type-title);
  font-weight: 550;
  line-height: 1.2;
  letter-spacing: -.04em;
  margin-bottom: 22px;
  text-wrap: balance;
}
.page-shell h2 {
  font-size: var(--type-section);
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.page-shell h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -.018em;
}
.page-shell .lead {
  font-size: var(--type-copy);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -.012em;
  max-width: 44ch;
  text-wrap: pretty;
}
.page-shell p { line-height: 1.8; text-wrap: pretty; }
.page-shell p:not(.section-kicker):not(.lead) { color: #586153; }
.feature-caption h2, .work-page .work-caption h2 {
  font-size: 1.25rem;
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: -.025em;
}
.benefit-columns h2, .booking-next h2 {
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -.02em;
}
.work-card-meta, .breadcrumbs { letter-spacing: 0; }
.work-card-meta > span:last-child { letter-spacing: .075em; }
.work-page .enquiry-band .section-kicker { color: #b9cba9; }
.work-page .enquiry-band p:not(.section-kicker) { color: #d1dac9; }

.booking-intro h1 { max-width: 12ch; }
.booking-form-wrap legend {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.02em;
  padding-bottom: 16px;
  margin-bottom: 22px;
}
.form-grid label { font-size: var(--type-label); font-weight: 500; gap: 9px; }
.booking-form-wrap { min-width: 0; }
.booking-form-wrap .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 20px;
  row-gap: 24px;
}
.booking-form-wrap .form-grid > label { min-width: 0; margin: 0; }
.field-label {
  display: block;
  min-height: 1.5rem;
  line-height: 1.5rem;
}
.field-label .optional-label { margin-left: 6px; white-space: nowrap; }
.form-grid input, .form-grid select, .form-grid textarea {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -.012em;
}
.booking-form-wrap .form-grid input,
.booking-form-wrap .form-grid select {
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 12px;
  margin: 0;
  box-sizing: border-box;
}
.booking-form-wrap .form-grid select {
  appearance: none;
  padding-right: 36px;
  background-image: linear-gradient(45deg, transparent 50%, #65705d 50%), linear-gradient(135deg, #65705d 50%, transparent 50%);
  background-position: calc(100% - 19px) center, calc(100% - 14px) center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.booking-form-wrap .form-grid textarea { margin: 0; padding: 12px; }
.booking-form-wrap .form-grid textarea[name="address"] { min-height: 7rem; }
.form-grid input::placeholder, .form-grid textarea::placeholder {
  font-size: var(--type-label);
  color: #77816f;
  opacity: 1;
}
.optional-label, .field-hint, .location-attribution { font-weight: 400; letter-spacing: 0; }
.availability-note { line-height: 1.7; font-weight: 400; }
.enquiry-review pre { font-family: var(--sans); line-height: 1.9; letter-spacing: -.01em; }
.check-row { font-size: var(--type-label); font-weight: 400; }
.footer-top nav > span { font-size: var(--type-caption); font-weight: 600; letter-spacing: .09em; }

@media (max-width: 1000px) {
  .booking-form-wrap .form-grid { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
}

@media (max-width: 700px) {
  :root { --type-title: 1.875rem; --type-section: 1.375rem; }
  .hero-copy h1 { font-size: 1.875rem; line-height: 1.22; }
  .page-shell h1 { margin-bottom: 20px; }
  .page-shell .lead { line-height: 1.75; }
  .work-page .work-caption h2 { font-size: 1.1875rem; }
  .form-grid input, .form-grid select, .form-grid textarea { font-size: 1rem; }
  .hero-button { padding-inline: 8px; white-space: normal; }
}
@media (max-width: 359px) {
  :root { --type-title: 1.75rem; }
  .hero-copy h1 { font-size: 1.75rem; }
}

/* A compact Hindi signature with an architectural M monogram. */
@font-face {
  font-family: 'Maa Devanagari';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/maa-devanagari.ttf') format('truetype');
}
.brand { gap: 10px; color: #263a32; }
.brand .brand-mark { display: block; width: 42px; height: 42px; flex: 0 0 auto; }
.brand-wordmark { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.brand .brand-name {
  font-family: 'Maa Devanagari', 'Kohinoor Devanagari', 'Nirmala UI', serif;
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}
.brand-descriptor {
  font-family: var(--sans);
  font-size: .78125rem;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .018em;
  white-space: nowrap;
  color: #765532;
}
.site-footer .brand { color: #f5eada; }
.site-footer .brand-descriptor { color: #e4c38e; }
.site-footer .brand-mark { outline: 1px solid #d9b98155; border-radius: 13px; }
@media (max-width: 599px) {
  .brand { gap: 8px; }
  .brand .brand-mark { width: 36px; height: 36px; }
  .brand .brand-name { font-size: 1.625rem; line-height: 1.2; }
  .brand-descriptor { font-size: .75rem; letter-spacing: .01em; }
}
@media (max-width: 419px) {
  .header-actions > .visit-button { display: none; }
}

/* Selected outlined logo: trimmed canvas preserves its diagonal subtitle. */
.brand-logo-link { gap: 0; }
.brand-logo-link .brand-logo {
  display: block;
  width: 62.4px;
  height: auto;
  aspect-ratio: 352 / 194;
  object-fit: contain;
  flex-shrink: 0;
}
.header-inner { padding-block: 8px; }
@media (max-width: 599px) {
  .brand-logo-link .brand-logo { width: 57.6px; }
  .header-inner { padding-block: 6px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .site-header .brand-logo { width: auto; height: 20.8px; }
}
