/* Resident typography only. Card grids, panel padding, media dimensions and
   hero heights come from the unchanged production stylesheets. */
body.resident-editorial :not(:where(
  .resident-chat,.resident-chat *,[data-resident-chat],[data-resident-chat] *,
  .pwa-install,.pwa-install *,#stripeEmbeddedCheckout,#stripeEmbeddedCheckout *,
  .unit-service-electronic-signature
)) {
  font-family:"Cormorant Garamond",Georgia,serif !important;
  text-transform:uppercase !important;
  letter-spacing:normal;
}
body.resident-editorial :is(input,textarea):not([type=button]):not([type=submit]) {text-transform:none !important}
body.resident-editorial :is(main,footer,.drawer,.modal-card,.checkout-header,.site-header,.reservation-header) {
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:var(--serif);
}
body.resident-editorial :is(main,footer,.drawer,.modal-card) :is(h1,h2,h3,h4) {line-height:1.12;font-weight:500;text-wrap:balance}
body.resident-editorial :is(main,footer,.drawer,.modal-card) :is(p,li) {text-wrap:pretty}
body.resident-editorial :is(main,footer,.drawer,.modal-card) :is(strong,b) {font-weight:600}
body.resident-editorial :is(.eyebrow,.lifestyle-kicker) {font-size:11px;letter-spacing:.035em;line-height:1.4}
body.resident-editorial :is(.site-header nav a,.reservation-header nav a,.mobile-menu a,.reservation-language,.checkout-return) {font-size:12px;letter-spacing:.015em;line-height:1.35}
body.resident-editorial :is(.primary-button,.secondary-button,.primary-action,.secondary-action,.text-back,.reservation-hero-copy>a):not(.resident-chat *) {font-size:12px;letter-spacing:.015em;line-height:1.35}
body.resident-editorial :is(.field-grid,form) label:not(.resident-chat *) {font-size:12px;line-height:1.4}
body.resident-editorial :is(.field-grid,form) :is(input,textarea,select):not(.resident-chat *) {font-size:16px;line-height:1.35}
body.resident-editorial :is(.modal-card,.drawer) p {font-size:14px;line-height:1.45}
body.resident-editorial .modal-card h2 {font-size:clamp(28px,3.5vw,38px)}
body.resident-editorial :is(.feedback-type-list button,.feedback-view-copy,.feedback-thanks) {font-size:15px;line-height:1.4}
body.resident-editorial footer :is(a,p,span,small) {font-size:12px;line-height:1.45}

/* Text can use available horizontal room without enlarging its enclosing hero. */
body.resident-editorial .hero-content {max-width:760px;right:8vw}
body.resident-editorial .hero-copy {max-width:740px;font-size:clamp(30px,3.1vw,44px);line-height:1.16;text-wrap:balance}
body.resident-editorial .residence-note {font-size:11px}
body.resident-editorial .shop-head h2 {font-size:clamp(30px,3.3vw,46px)}
body.resident-editorial .search input {font-size:14px}
body.resident-editorial .category-tabs button {font-size:11px;letter-spacing:.01em}
/* The original 190px grid minimum, 1120px grid maximum, 14px gutters,
   13px/14px card padding and existing image sizes are intentionally retained. */
body.resident-editorial .product-info h3 {font-size:13.5px;line-height:1.15;text-wrap:wrap}
body.resident-editorial .product-info p {font-size:10px;line-height:1.35}
body.resident-editorial .product-category {font-size:9px;letter-spacing:.02em;line-height:1.3}
body.resident-editorial .product-bottom strong {font-size:15px;line-height:1.2}
body.resident-editorial .shop-section .add-button {font-size:9px;letter-spacing:0}
body.resident-editorial .concierge {grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
body.resident-editorial .concierge-card h2 {font-size:clamp(28px,3.1vw,44px)}
body.resident-editorial .concierge-card>p:not(.eyebrow) {font-size:16px;line-height:1.45}
body.resident-editorial .concierge-card a {font-size:12px}
body.resident-editorial .concierge-hours :is(span,small,p) {font-size:11px;line-height:1.4;overflow-wrap:anywhere}
body.resident-editorial .extension-list span {flex-wrap:wrap;gap:6px}
body.resident-editorial .cart-item {grid-template-columns:54px minmax(0,1fr) auto}
body.resident-editorial .cart-item h4 {font-size:16px;line-height:1.2;text-wrap:pretty}
body.resident-editorial .cart-item>div:last-child {display:flex;flex-direction:column;align-items:end;gap:8px}
body.resident-editorial .cart-item>div:last-child strong {font-size:15px;white-space:nowrap}
body.resident-editorial .remove {font-size:11px}
body.resident-editorial .cart-footer>p {font-size:12px;line-height:1.4}

body.resident-editorial .lifestyle-intro-copy {width:min(960px,88vw)}
body.resident-editorial .lifestyle-intro-copy h1 {max-width:900px;font-size:clamp(34px,4.6vw,62px);line-height:1.12}
body.resident-editorial .lifestyle-intro-subtitle {max-width:740px;font-size:clamp(17px,1.5vw,21px);line-height:1.45}
body.resident-editorial .lifestyle-category-rail button {font-size:11px;line-height:1.3;letter-spacing:.01em}
body.resident-editorial .lifestyle-category-card-copy strong {font-size:clamp(22px,2vw,30px);line-height:1.12}
body.resident-editorial .lifestyle-category-card-copy small {font-size:10px;line-height:1.4;letter-spacing:.015em}
body.resident-editorial .lifestyle-gallery-header h2 {font-size:clamp(30px,4vw,54px)}
body.resident-editorial .lifestyle-gallery-header h2+p {font-size:17px;line-height:1.4}
body.resident-editorial :is(.lifestyle-gallery-breadcrumb,.lifestyle-gallery-close,.lifestyle-gallery-tabs button,.lifestyle-explore-another,.lifestyle-video-credit) {font-size:12px;line-height:1.4;letter-spacing:.015em}
body.resident-editorial .lifestyle-closing h2 {max-width:960px;font-size:clamp(28px,3.4vw,48px)}
body.resident-editorial .lifestyle-closing p {font-size:16px;line-height:1.45}

/* Keep production hero height and padding; only its text measure is widened. */
body.resident-editorial .reservation-hero-copy {max-width:1120px;width:100%}
body.resident-editorial .reservation-hero h1 {max-width:100%;font-size:clamp(40px,4.7vw,68px);line-height:1.1;letter-spacing:0;text-wrap:wrap}
body.resident-editorial .reservation-hero-copy>p:not(.eyebrow) {max-width:780px;font-size:18px;line-height:1.45}
body.resident-editorial :is(.reservation-intro h2,.step-heading h2) {max-width:100%;font-size:clamp(28px,3.2vw,44px)}
body.resident-editorial .amenity-card h3 {font-size:25px}
body.resident-editorial .amenity-card p {font-size:15px;line-height:1.4}
body.resident-editorial :is(.amenity-deposit,.reservation-progress li) {font-size:12px;line-height:1.35}
body.resident-editorial :is(.calendar-day-status,.calendar-mobile-weekday,.resident-calendar-week span) {font-size:14px;letter-spacing:0}
body.resident-editorial .calendar-day-number {font-size:19px}
body.resident-editorial .review-layout>* {min-width:0}
body.resident-editorial .summary-row>strong {min-width:0;flex-shrink:0;max-width:65%}
body.resident-editorial .reservation-confirmation h2 {font-size:clamp(30px,3.8vw,48px)}

body.resident-editorial .checkout-heading {max-width:960px}
body.resident-editorial .checkout-heading h1 {font-size:clamp(32px,4vw,54px)}
body.resident-editorial .checkout-heading>p:last-child {max-width:800px;font-size:16px;line-height:1.45}
body.resident-editorial :is(.checkout-summary,.checkout-details) {min-width:0}
body.resident-editorial.checkout-page .cart-item {grid-template-columns:minmax(0,1fr) auto}
body.resident-editorial .checkout-summary-totals span {font-size:14px;line-height:1.4}
body.resident-editorial .checkout-summary-totals strong {font-size:16px}
body.resident-editorial :is(.checkout-security p,.checkout-recurring-summary p,.valet-payment-choice small,.valet-recurring-authorization small,.valet-recurring-notice) {font-size:12px;line-height:1.45}
body.resident-editorial :is(.valet-payment-choice strong,.valet-recurring-authorization strong,.valet-recurring-breakdown>div) {font-size:14px;line-height:1.4}
body.resident-editorial .legal-review-card>* {min-width:0}
body.resident-editorial.checkout-page :is(.legal-review-instruction,.legal-review-status p,.legal-official-note,.fine-print,.unit-service-label,.unit-service-acceptance-message,.legal-review-end,.legal-version) {font-size:12px;line-height:1.45}
body.resident-editorial.checkout-page :is(.unit-service-opening,.unit-service-clause,.unit-service-value,.unit-service-items li,.unit-service-acceptance span) {font-size:14px;line-height:1.5}
body.resident-editorial.checkout-page .legal-review-actions {grid-template-columns:repeat(2,minmax(0,1fr))}
body.resident-editorial.checkout-page .legal-review-actions button {white-space:normal}

@media(max-width:700px) {
  body.resident-editorial .hero-content {left:25px;right:25px}
  body.resident-editorial .hero-copy {font-size:clamp(24px,6.5vw,34px)}
  body.resident-editorial .product-info h3 {font-size:14px;line-height:1.15}
  body.resident-editorial .product-bottom strong {font-size:14px}
  body.resident-editorial .shop-section .add-button {font-size:9px;padding-left:8px;padding-right:8px}
  body.resident-editorial .concierge {grid-template-columns:minmax(0,1fr)}
  body.resident-editorial .cart-item {grid-template-columns:28px minmax(0,1fr) auto;gap:10px}
  body.resident-editorial .lifestyle-intro-copy h1 {font-size:clamp(28px,7vw,40px)}
  body.resident-editorial .lifestyle-closing h2 {font-size:clamp(26px,6.7vw,34px)}
  body.resident-editorial .lifestyle-gallery-header {flex-wrap:wrap}
  body.resident-editorial .reservation-hero h1 {font-size:clamp(30px,7.6vw,44px)}
  body.resident-editorial .reservation-hero-copy>p:not(.eyebrow) {font-size:16px;line-height:1.4}
  body.resident-editorial :is(.reservation-intro h2,.step-heading h2) {font-size:clamp(27px,6.8vw,34px)}
  body.resident-editorial .reservation-progress li {font-size:11px}
  body.resident-editorial .checkout-brand strong {font-size:16px}
  body.resident-editorial .checkout-return {font-size:10px}
  body.resident-editorial .checkout-section-heading h2 {font-size:26px}
}
@media(max-width:360px) {
  body.resident-editorial .resident-details h3 {font-size:25px}
  body.resident-editorial .checkout-brand {gap:8px}
  body.resident-editorial .checkout-brand strong {font-size:13px}
  body.resident-editorial .checkout-section-heading h2 {font-size:24px}
  body.resident-editorial.checkout-page .legal-review-card>h2 {font-size:25px}
  body.resident-editorial.checkout-page .unit-service-document-header .unit-service-title {font-size:19px}
  body.resident-editorial.checkout-page .unit-service-acceptance span {font-size:13px}
}
