/* One type scale for every page. Loaded last; changes sizes, line heights and tracking only. */
:root{
  --fs-label:11px;
  --fs-small:13px;
  --fs-ui:14px;
  --fs-card:15px;
  --fs-body:16px;
  --fs-lead:19px;
  --fs-h3:22px;
  --fs-h3-lg:26px;
  --fs-h2:clamp(30px,2.7vw,40px);
  --fs-h1:clamp(38px,3.9vw,54px);
  --fs-hero:clamp(44px,4.6vw,66px);
  --lh-body:1.65;
  --lh-h3:1.25;
  --ls-label:.14em;
}
@media(max-width:700px){
  :root{
    --fs-card:15px;
    --fs-lead:17px;
    --fs-h3:20px;
    --fs-h3-lg:23px;
    --fs-h2:30px;
    --fs-h1:35px;
    --fs-hero:40px;
  }
}
@media(max-width:700px){.hero-content{top:44%}}
@media(max-width:374px){:root{--fs-h2:28px;--fs-h1:32px;--fs-hero:36px}}

/* Body copy */
body,
:is(.page-apartmany,.page-apartments) body{font-size:var(--fs-body);line-height:var(--lh-body)}

/* Small uppercase labels */
.eyebrow,
.path-card span,
.project-strip span,
.card-top,
.price-card-top small,
.price-summary span,
.payment-options span,
.service-kicker,
.why-us-scenario span,
.why-us-grid small,
.project-status-card small,
.gallery-item span,
.gallery-item[role="img"] span,
thead th,
th,
td small,
.about-quote span,
.intro-number,
:is(.page-apartmany,.page-apartments) :is(.subpage-banner,.apartments,.pricing,.faq) .eyebrow,
:is(.page-apartmany,.page-apartments) :is(.card-top,.building-mix-heading span,.price-summary span,.price-card-top small,.payment-options span){font-size:var(--fs-label);line-height:1.5;letter-spacing:var(--ls-label)}
.why-now-grid article>span,
.why-us-grid article>span,
.team-grid article>span{font-size:var(--fs-label)}
.language-switch{font-size:var(--fs-label)}
:is(.page-apartmany,.page-apartments) .price-card.premium .price-card-top small{font-size:var(--fs-label)}

/* Navigation, buttons and links */
.desktop-nav,
.detail-page .desktop-nav,
:is(.page-apartmany,.page-apartments) .desktop-nav{font-size:13px}
.button,
.button.large,
.text-link,
.subpage-banner .text-link,
.intro-copy .text-link,
.path-card b,
.price-card>a,
:is(.page-apartmany,.page-apartments) :is(.button,.subpage-banner .text-link,.intro-copy .text-link,.price-card>a){font-size:var(--fs-ui)}

/* Small print */
footer,
footer p,
footer>span,
.disclaimer,
.price-note,
.price-summary strong,
.price-list .price-summary strong,
.social-card small,
.apartment-card li,
.services-grid li,
.building-mix-grid small,
.building-mix>p,
:is(.page-apartmany,.page-apartments) :is(.price-note,.price-summary strong,.apartment-card li,.building-mix-grid span,.building-mix-grid small,.building-mix>p){font-size:var(--fs-small)}
.visual-note{font-size:var(--fs-small)}

/* Card and table text */
.path-card p,
.why-now-grid p,
.why-us-grid p,
.services-grid p,
.amed-grid p,
.payment-options p,
.price-card>p,
.price-summary p,
.apartment-card>p,
.team-bio,
.included li,
.shared-spaces,
.shared-spaces p,
.home-presence-grid p,
details p,
th,td,
.social-card strong,
.contact-links .social-card strong,
:is(.page-apartmany,.page-apartments) :is(.apartment-card>p,.price-card>p,.price-summary p,.payment-options p,.included li,.shared-spaces p,.faq details p){font-size:var(--fs-card);line-height:var(--lh-body)}
thead th{font-size:var(--fs-label)}
.team-bio{font-size:var(--fs-card)!important}

/* Section copy */
.section-heading>p,
.pathfinder-heading>p:last-child,
.home-video-copy>p:not(.eyebrow),
.home-cta p:not(.eyebrow),
.amed-video-copy p:last-child,
.amed-intro>p:last-child,
.about-story>p:not(.eyebrow),
.intro-copy p,
.contact-content>p:not(.eyebrow),
:is(.page-apartmany,.page-apartments) :is(.section-heading>p,.intro-copy p){font-size:var(--fs-body);line-height:var(--lh-body)}

/* Lead paragraphs */
.hero-lead,
.subpage-banner>p:not(.eyebrow),
.gallery-intro>p:last-child,
.intro-copy .lead,
.about-story .lead,
.why-us-intro .lead,
.services-intro>p:last-child,
.project-status-card>p,
:is(.page-apartmany,.page-apartments) :is(.subpage-banner>p:not(.eyebrow),.intro-copy .lead){font-size:var(--fs-lead);line-height:1.55}

/* Questions */
summary,
:is(.page-apartmany,.page-apartments) .faq summary{font-size:17px;line-height:1.4}

/* Card headings */
.why-now-grid h3,
.why-us-grid h3,
.services-grid h3,
.team-grid h3,
.amed-grid h3,
.apartment-card h3,
.card-top strong,
.apartment-card .card-price,
.home-presence-grid h2,
.social-card b,
.why-us-scenario p,
:is(.page-apartmany,.page-apartments) :is(.apartment-card h3,.card-top strong,.apartment-card .card-price){font-size:var(--fs-h3);line-height:var(--lh-h3)}
.home-presence-grid h2{letter-spacing:-.03em}
.why-us-scenario p{line-height:1.5}
.social-card b{line-height:1}

/* Larger card headings and figures */
.path-card h3,
.price-card h3,
.included h3,
.amed-video-copy h3,
.price-card>strong,
.payment-options strong,
.project-strip strong,
.about-quote blockquote,
:is(.page-apartmany,.page-apartments) :is(.price-card h3,.included h3,.price-card>strong,.payment-options strong){font-size:var(--fs-h3-lg);line-height:1.2}
.about-quote blockquote{line-height:1.4}

/* Section headings */
h2,
.detail-page h2,
.intro-title h2,
.project-status-card h2,
.contact-content h2,
:is(.page-apartmany,.page-apartments) :is(.intro,.apartments,.pricing,.faq) h2{font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.03em}

/* Page headings */
.subpage-banner h1,
.gallery-intro h1,
:is(.page-apartmany,.page-apartments) .subpage-banner h1{font-size:var(--fs-h1);line-height:1.08;letter-spacing:-.035em}
h1,
.hero h1{font-size:var(--fs-hero);line-height:1.06;letter-spacing:-.035em}
