/* NamSpace shared scale: Manrope headings and Roboto copy, based on Events. */
:root{
 --font-heading:Manrope,Arial,sans-serif;
 --font-body:Roboto,Arial,sans-serif;
 --text-body:14px;
 --text-control:14px;
 --text-meta:12px;
 --text-label:13px;
 --text-card-title:16px;
 --text-reading:16px;
 --text-section:clamp(24px,2vw,28px);
 --text-page:clamp(30px,4vw,48px);
}
body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3}
button,input,select,textarea,option{font-family:var(--font-body)}
button,input,select,textarea{font-size:var(--text-body)}
input,select,textarea,option{font-weight:400}
body :is(form,.event-form,.stack) :is(input,select,textarea){font-family:var(--font-body);font-size:var(--text-control);font-weight:400}
button{line-height:1.4}
textarea{line-height:1.6}
input::placeholder,textarea::placeholder{font-family:var(--font-body);font-weight:400}
/* Public heading hierarchy. Hero titles retain their established responsive scale. */
:where(body:not(.admin-hq)) h2{font-size:var(--text-section)}
:where(body:not(.admin-hq)) h3{font-size:18px}
.page-intro h1,.account-hero h1,.curated-heading h1,.blog-story h1,
.photo-market-head h1,.photo-detail h1,.hire-heading h1,.rm-shell h1,.event-detail h1{
 font-size:var(--text-page);line-height:1.15;letter-spacing:-.025em;font-weight:700;
}
.page-intro p,.account-hero p,.curated-heading>p:not(.eyebrow),
.photo-market-head p:not(.eyebrow),.photo-market-teaser p,.hero-description,
.events-hero-copy .events-hero-description{font-size:var(--text-body);line-height:1.65}
.market-section h2,.section-head h2,.event-section-head h2,.events-showcase h2,
.account-section-head h2,.kayova-gallery>header h2,.owner-cta h2,
.how h2,.boost-intro h2,.partner-heading h2,.photo-market-teaser h2{
 font-size:var(--text-section);line-height:1.25;font-weight:700;letter-spacing:-.02em;
}
.section-head p,.market-section .section-head p,.events-showcase>p,.mode-helper,
.intent-choice p,.account-empty p,.policy-check{font-size:var(--text-body);line-height:1.6}
.eyebrow,.market-hero .eyebrow,.event-kicker{font-family:var(--font-body);font-size:11px;line-height:1.45;font-weight:600;letter-spacing:.12em}
/* Discovery cards share the compact Events title and supporting text hierarchy. */
body :is(.card,.editorial-card,.guide-card,.partner-slot,.photo-market-card,.account-item,.saved-card,.steps) h3,
body .marketplace .card h3,body .journey-cards h3,body .hire-card h2,body .support-grid h2,
body .intent-choice h2,body .author-archive .editorial-card h2{
 font-size:var(--text-card-title);font-weight:700;line-height:1.35;letter-spacing:-.015em;margin:0 0 6px;
}
.event-card h3{font-family:var(--font-heading)}
body .event-card h3{font-size:var(--text-card-title)}
.journey-cards h3,.editorial-card h3{margin-top:8px}
.journey-cards p,.editorial-card p,.guide-card p,.card-body p,
.marketplace .card-body p,.partner-slot p,.photo-market-card p,.steps p,
.account-item p,.saved-card p{font-size:var(--text-body);line-height:1.55;margin:6px 0}
.journey-cards>a,.editorial-card{padding:18px}
.editorial-image-card{padding:0 0 18px}
.editorial-image-card>:not(img),body .editorial-image-card h3{margin-left:18px;margin-right:18px}
.journey-cards .eyebrow,.editorial-card .eyebrow{font-size:11px;margin-top:0;margin-bottom:8px}
.journey-cards>a>span,.editorial-card>span:last-child{font-size:var(--text-body)}
.marketplace .card-body,.rental-card .card-body{padding:14px}
.marketplace .card .location,.card .location,.card .listing-facts,.card .facts,
.marketplace .availability-line,.card .availability-line,
.marketplace .card-price-row>span,.card-price-row>span,
.marketplace .listing-chips span,.listing-chips span,
.marketplace .card-open,.card .card-open,.card-byline,.saved-card span,
.hire-status,.hire-types li,.hire-sources,.photo-market-thumb span{
 font-family:var(--font-body);font-size:var(--text-meta);line-height:1.5;
}
.card .location,.marketplace .card .location{margin:4px 0}
.card .card-price-row,.marketplace .card-price-row{margin:8px 0}
.card-price-row .price,.marketplace .card-price-row .price,.card .price strong,
.card .price small,.marketplace .price,.photo-market-card strong{
 font-family:var(--font-body);font-size:var(--text-label);font-weight:600;line-height:1.5;
}
.curated-card-visual strong{font-family:var(--font-heading);font-size:var(--text-card-title);line-height:1.35}
.curated-card-visual small,.curated-card-visual span{font-size:var(--text-meta)}
/* Forms, actions, navigation and supporting details. */
.form-grid label,.stack label,form>label,.event-form label,.event-operations label,
.rm-form label{font-size:var(--text-label);line-height:1.45;font-weight:600}
.check,.form-grid .check,.checks label,.event-form .event-check{font-weight:400}
legend,.rm-form legend{font-family:var(--font-heading);font-size:20px;line-height:1.35}
.lime-btn,.outline-btn,.nav-list,.market-nav .nav-actions>a,
.owner-cta .lime-btn,.market-empty .outline-btn,.stay-categories a,
.account-tabs a,.account-shortcuts>a,.item-actions a,.item-actions button,
.event-workspace button,.event-detail button,.event-actions a,
.service-grid>a{font-family:var(--font-body);font-size:var(--text-body);line-height:1.4}
.mode-selector a{font-family:var(--font-body);font-size:16px;line-height:1.4}
.market-nav .nav-list{font-size:13px}
.meta,.form-status,.search-note,.partner-invite,.stay-breadcrumb,
.story-breadcrumb,.story-byline,.optional-label,.account-reference,
.costs dt,.costs p,.listing-facts,.facts,.notification-strip p,
.public-location-map p,.occupancy-guidance,.map-instruction,
.curated-pills span,.hire-breadcrumb,.hire-disclosure{
 font-family:var(--font-body);font-size:var(--text-label);line-height:1.55;
}
.status-badge,.boosted-label,.boost-state,.sample-label{font-family:var(--font-body);font-size:var(--text-meta)}
.footer-columns h2,.market-footer h2{font-size:var(--text-card-title)}
.footer-columns a,.footer-brand p,.market-footer p,.market-footer a,
.footer-bottom,.market-footer .footer-bottom{font-size:var(--text-label);line-height:1.6}
/* Longer articles and policies keep a comfortable reading size. */
.prose p,.prose li,.prose dd,.blog-story p,.blog-story li,.rich-editor{font-size:var(--text-reading);line-height:1.75}
.blog-story{max-width:820px}
.blog-story .eyebrow{font-size:11px;line-height:1.45}
.prose h2,.blog-story h2{font-size:24px;line-height:1.3}
.blog-story .article-lead,.blog-story .story-deck{font-size:16px!important;line-height:1.7}
.blog-story .story-byline,.blog-story .article-source,.blog-story .affiliate-disclosure,
.blog-story .story-breadcrumb,.article-media figcaption,.curated-stay figcaption,
.photo-detail figcaption,.event-gallery figcaption{font-size:var(--text-label);line-height:1.55}
.image-credit,.image-credit p{font-size:var(--text-meta)!important;line-height:1.55}
.event-card .event-kicker{font-size:10px;letter-spacing:.065em;font-weight:700}
.event-card .event-card-body>p:not(.event-kicker):not(.event-pending-confirmation){font-size:12px;line-height:1.5;margin:0}
.event-card .event-card-body>p:has(time){font-size:13px}
/* Same families in Admin HQ; preserve its existing queue dimensions. */
.admin-hq{font-family:var(--font-body);font-size:14px}
.admin-hq h1,.admin-hq h2,.admin-hq h3,.admin-hq .stat strong{font-family:var(--font-heading)}
@media(max-width:640px){
 :root{--text-control:16px}
 .market-nav .nav-actions .nav-list{font-size:12px}
 .mode-selector a{font-size:14px}
 .journey-cards>a,.editorial-card{padding:16px}
 .editorial-image-card{padding:0 0 16px}
 .editorial-image-card>:not(img),body .editorial-image-card h3{margin-left:16px;margin-right:16px}
 .prose h2,.blog-story h2{font-size:22px}
 /* Readable controls also avoid automatic input zoom in mobile Safari. */
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
 :is(.event-filters,.journey-search,.production-search,#advancedSearch,.rm-filters,.hire-filters,.photo-market-filter,form[action="/partners"],#filterForm,#analyticsFilter,#manageEventFilters,#researchFilters,#globalSearch){--filter-value-size:16px}
}

/* Blog cards share the compact Events card proportions and reading scale. */
.editorial .editorial-grid .editorial-card{padding:0;overflow:hidden;background:#fff;border:1px solid #d6e2dc;border-radius:14px;display:flex;flex-direction:column;text-decoration:none}
.editorial .editorial-grid .editorial-card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0}
.editorial .editorial-grid .editorial-card>.editorial-card-body{margin:0;padding:14px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
body .editorial .editorial-card-body h3{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.35;letter-spacing:-.015em;margin:1px 0 2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
body .editorial .editorial-card-body p{font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.5;color:#466158;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
body .editorial .editorial-card-body .eyebrow{font-family:Roboto,Arial,sans-serif;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.065em;margin:0}
body .editorial .editorial-card-body .card-byline{font-family:Roboto,Arial,sans-serif;font-size:12px;line-height:1.5;margin:0}
body .editorial .editorial-card-body .editorial-read{font-family:Roboto,Arial,sans-serif;font-size:13px;font-weight:600;line-height:1.5;margin-top:auto;padding-top:4px}
body .blog-story,body .blog-story :is(p,li,dt,dd,blockquote,table,figcaption){font-family:Roboto,Arial,sans-serif}
body .mode-selector a,body .journey-nav-link,body .mobile-journey-group>summary,body .intent-tabs a{font-family:Roboto,Arial,sans-serif}

/* Footer brand copy aligns with the wordmark, following the supplied annotation. */
.market-footer{align-items:start}.market-footer .footer-columns{margin-top:0}
.market-footer .footer-brand .brand{width:185px;max-width:100%}
.market-footer .footer-brand-copy{margin-left:54px;max-width:165px}
.market-footer .footer-brand-copy .footer-tagline{display:table;margin:2px 0 14px;padding:0 0 6px;border-bottom:1px solid #103c35;color:#103c35;white-space:nowrap}
.market-footer .footer-brand-copy .footer-description{margin:0;max-width:155px;color:#52685f;line-height:1.55}
