/* LandMaXx editorial typography. Local, OFL-licensed fonts; no font-service dependency. */
@font-face {
  font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/fonts/dm-sans-latin-20260922.woff2') format('woff2');
}
@font-face {
  font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dm-serif-display-latin-20260922.woff2') format('woff2');
}
@font-face {
  font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/dm-serif-display-italic-latin-20260922.woff2') format('woff2');
}
:root {
  --font-display:'DM Serif Display',Georgia,'Times New Roman',serif;
  --font-body:'DM Sans','Segoe UI',sans-serif;
}
body {font-family:var(--font-body);font-weight:400;line-height:1.65;letter-spacing:0}
h1,h2,h3 {font-family:var(--font-display);font-weight:400;letter-spacing:-.018em;font-synthesis:none}
h2 {font-size:clamp(2.5rem,3.8vw,3.65rem);line-height:1.1}
.type-accent {font-style:italic;font-weight:400;color:#f2ebdd}
.hero h1 {
  font-size:clamp(4rem,6.5vw,6.6rem);font-weight:400;line-height:1.025;letter-spacing:-.025em;
  max-width:none;text-shadow:0 3px 32px #0004;
}
.hero__lead {font-size:clamp(1.02rem,1.3vw,1.16rem);line-height:1.65;max-width:660px;margin-top:26px}
.hero__location {font-size:.73rem;font-weight:500;letter-spacing:.07em}
.eyebrow {font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.22em;line-height:1.6;margin-bottom:16px}
.nav__links a,.header__phone {font-size:.84rem;font-weight:500;letter-spacing:.02em}
.header__phone,.footer__phone {font-variant-numeric:lining-nums tabular-nums}
.btn {font-family:var(--font-body);font-weight:600;font-size:.9rem;letter-spacing:.015em}
.booking__heading h2 {font-size:clamp(2rem,3.1vw,2.75rem);font-weight:400;line-height:1.13;letter-spacing:-.02em}
.quiet-link,.booking__notes {font-size:.83rem;line-height:1.6}
.booking__address label,.field label,.field legend,.form legend {font-weight:600;letter-spacing:.02em}
.section-head {align-items:end}
.section-head h2 {max-width:570px}
.section-head>p {font-size:.96rem;line-height:1.75}
.service-tile h3 {font-size:clamp(1.85rem,2.4vw,2.35rem);font-weight:400;letter-spacing:-.018em;line-height:1.1}
.service-tile--large h3 {font-size:clamp(2.2rem,3.1vw,3rem)}
.service-tile p {font-size:.89rem;line-height:1.65}
.plan-band__intro h2 {font-size:clamp(2rem,2.7vw,2.75rem);line-height:1.12}
.plan-summary h3 {font-size:2rem;font-weight:400;letter-spacing:-.01em}
.plan-summary p {font-size:.88rem;line-height:1.7}
.plan h3 {font-size:2.4rem}
.closing h2 {font-size:clamp(2.65rem,4vw,3.9rem);font-weight:400;line-height:1.06}
.closing>p {line-height:1.75}
.steps h3 {font-size:1.65rem;line-height:1.2}
.steps article>span {font-family:var(--font-display);font-size:1.6rem;font-variant-numeric:lining-nums;line-height:1.1;color:#d9ceba}
.footer {line-height:1.75}
.footer__grid h3 {font-size:1.8rem}
.quote-dialog h2 {font-size:clamp(2rem,3.6vw,3rem);font-weight:400;line-height:1.1}
.service-detail__hero h1 {font-size:clamp(3.25rem,7vw,6.3rem);line-height:1.04;letter-spacing:-.025em;font-weight:400;max-width:17ch}
.service-detail__lead {font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.75;max-width:58ch}
.service-detail__main h2 {font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.12}
.service-detail__aside h2 {font-size:clamp(1.9rem,2.5vw,2.4rem);line-height:1.15}
.service-detail__card h3 {font-family:var(--font-body);font-size:1.12rem;font-weight:600;line-height:1.35;letter-spacing:-.015em}
.service-detail__card p {line-height:1.75}
.thanks-card h1 {font-weight:400;line-height:1.08;letter-spacing:-.02em}
@media(min-width:1600px){.hero h1{font-size:7rem}}
@media(max-width:1190px){.nav__links{gap:23px}.plan-summary{padding-inline:22px}}
@media(max-width:899px){
  .hero h1{font-size:clamp(3.5rem,7.8vw,5rem)}
  .hero__lead{max-width:510px;font-size:1.05rem}
  .booking__heading h2{font-size:2rem}
  .section-head h2{font-size:2.8rem}
  .service-tile h3{font-size:1.85rem}.service-tile--large h3{font-size:2.35rem}
  .plan-band__intro h2{font-size:2.5rem}
}
@media(max-width:620px){
  .hero h1{font-size:clamp(2.45rem,10.3vw,4rem);line-height:1.08;letter-spacing:-.025em}
  .hero__lead{font-size:1rem;line-height:1.65;max-width:290px;margin-top:22px}
  .hero__location{font-size:.69rem;letter-spacing:.055em}
  .booking__heading h2{font-size:2rem;max-width:300px}
  .section-head h2{font-size:clamp(2.35rem,9.3vw,3rem);max-width:16ch}
  .eyebrow{font-size:.65rem;letter-spacing:.2em}
  .service-tile h3,.service-tile--large h3{font-size:2.1rem}
  .service-tile p{font-size:.88rem}
  .plan-band__intro h2{font-size:2.5rem}.plan-summary h3{font-size:2rem}
  .closing h2{font-size:clamp(2rem,8.3vw,3rem);line-height:1.1}
  .service-detail__hero h1{font-size:clamp(2.6rem,10.5vw,4rem);line-height:1.06;max-width:100%;overflow-wrap:break-word}
  .service-detail__main h2{font-size:2.25rem}
  .quote-dialog h2{font-size:2rem}
  .btn{font-size:.88rem}
}
