/*
 * EmlakJest 2026 Luxury Real Estate Design System
 * Public frontend only. Backend, routes, database and admin styles stay untouched.
 */

:root {
  color-scheme: light;

  --primary-background: #F7F3ED;
  --section-background: #FBF9F5;
  --card-surface: #FFFFFF;
  --dark-surface: #23252B;
  --dark-surface-hover: #2D3138;
  --header-surface: #2B2E34;
  --primary-text: #1E1F22;
  --secondary-text: #686D74;
  --border-color: #E5DED4;
  --gold: #A77A46;
  --gold-hover: #8C6335;
  --muted-gold: #C8A26A;
  --success: #4C7A63;
  --danger: #B04A4A;

  --color-primary: var(--primary-text);
  --color-primary-deep: var(--dark-surface);
  --color-primary-hover: var(--dark-surface-hover);
  --color-accent: var(--gold);
  --color-accent-soft: var(--muted-gold);
  --color-background: var(--primary-background);
  --color-surface: var(--card-surface);
  --color-surface-soft: var(--section-background);
  --color-surface-muted: var(--primary-background);
  --color-border: var(--border-color);
  --color-text: var(--primary-text);
  --color-text-muted: var(--secondary-text);
  --color-white: var(--card-surface);
  --color-success: var(--success);
  --color-error: var(--danger);

  --ph-primary: var(--dark-surface);
  --ph-primary-muted: var(--dark-surface-hover);
  --ph-accent-deep: var(--gold-hover);
  --ph-background: var(--primary-background);
  --ph-background-muted: var(--section-background);
  --ph-accent: var(--gold);
  --ph-accent-soft: var(--muted-gold);
  --ph-text: var(--primary-text);
  --ph-muted: var(--secondary-text);
  --ph-line: var(--border-color);
  --ph-serif: var(--font-display);
  --ph-sans: var(--font-body);
  --ph-shadow: var(--shadow-lg);

  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --font-body: Inter, "Segoe UI", Arial, sans-serif;

  --type-h1: 72px;
  --type-h2: 54px;
  --type-h3: 36px;
  --type-body: 18px;
  --type-small: 16px;
  --type-menu: 18px;
  --type-form: 17px;
  --type-button: 17px;
  --type-card-copy: 17px;
  --type-footer: 17px;

  --leading-tight: 1.08;
  --leading-heading: 1.14;
  --leading-body: 1.72;
  --leading-footer: 2;

  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-8: 64px;
  --space-10: 80px;
  --space-12: 96px;
  --space-15: 120px;

  --radius-button: 8px;
  --radius-card: 8px;
  --radius-panel: 30px;
  --radius-pill: 999px;

  --shadow-sm: 0 10px 24px rgba(30, 31, 34, .06);
  --shadow-md: 0 18px 48px rgba(30, 31, 34, .10);
  --shadow-lg: 0 30px 86px rgba(30, 31, 34, .14);
  --shadow-header: 0 18px 55px rgba(14, 15, 18, .22);

  --duration-fast: 160ms;
  --duration-normal: 220ms;
  --ease-premium: cubic-bezier(.2, .7, .2, 1);
  --container: 1320px;
  --page-gutter: clamp(18px, 4vw, 56px);
  --control-height: 60px;
}

@media (max-width: 768px) {
  :root {
    --type-h1: 48px;
    --type-h2: 38px;
    --type-h3: 30px;
    --type-body: 17px;
    --page-gutter: 14px;
  }
}

html {
  font-size: 18px;
  scroll-padding-top: 110px;
}

body:is(.premium-home-page, .premium-public-page) {
  margin: 0;
  background: var(--primary-background);
  color: var(--primary-text);
  font-family: var(--font-body);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
}

body:is(.premium-home-page, .premium-public-page) :where(p, li, label, input, select, textarea, button, a, small, span) {
  letter-spacing: 0;
}

::selection {
  background: var(--muted-gold);
  color: var(--primary-text);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--muted-gold);
  outline-offset: 3px;
}

:where(a, button, input, select, textarea, summary) {
  transition-duration: var(--duration-normal);
  transition-timing-function: var(--ease-premium);
}

.ph-container,
.premium-public-page .container {
  width: min(var(--container), calc(100% - (var(--page-gutter) * 2)));
  margin-inline: auto;
}

/* Typography */
:where(.ph-hero-copy h1, .page-hero h1, .detail-title h1, .not-found h1) {
  color: var(--primary-text);
  font-family: var(--font-display);
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: 0;
  line-height: var(--leading-tight);
  text-wrap: balance;
}

:where(.ph-section-head h2, .section-heading h2, .content-block h2, .ph-video h2, .ph-faq-grid h2, .pf-map-grid h2, .ph-ia-heading h2, .ph-standalone-cta h2) {
  color: var(--primary-text);
  font-family: var(--font-display);
  font-size: var(--type-h2);
  font-weight: 500;
  letter-spacing: 0;
  line-height: var(--leading-heading);
  text-wrap: balance;
}

:where(.ph-search-head h2, .filter-title h2, .contact-card > h3, .content-block h3, .empty-state h3) {
  color: var(--primary-text);
  font-family: var(--font-display);
  font-size: var(--type-h3);
  font-weight: 500;
  letter-spacing: 0;
  line-height: var(--leading-heading);
}

:where(.ph-section-head p, .section-heading p, .content-card p, .agent-grid p, .ph-service-list p, .ph-journal-card p, .rich-text, .article-content, .contact-card > p, .empty-state p, .page-hero p, .detail-title p) {
  color: var(--secondary-text);
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

.ph-kicker,
.eyebrow,
.content-card small,
.agent-grid small,
.ph-search-head small,
.ph-live,
.property-location,
.ph-location,
.project-status,
.ph-project-status,
.listing-badge,
.featured-badge,
.badge {
  color: var(--gold);
  font-size: var(--type-small);
  font-weight: 700;
  letter-spacing: .2px;
  line-height: 1.35;
}

.ph-kicker i,
.eyebrow span {
  background: var(--gold);
}

/* Header */
.ph-header {
  color: #F3F2EF;
}

.ph-notice {
  display: none;
}

.ph-nav-shell,
.premium-public-page .ph-nav-shell,
.ph-header.is-scrolled .ph-nav-shell,
.premium-public-page .ph-header.is-scrolled .ph-nav-shell {
  height: 92px;
  background: rgba(43, 46, 52, .86);
  border-bottom: 1px solid rgba(229, 222, 212, .18);
  box-shadow: var(--shadow-header);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.ph-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  height: 100%;
}

.ph-brand {
  gap: 14px;
}

.ph-brand-emblem {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(200, 162, 106, .78);
  border-radius: var(--radius-button);
  color: var(--muted-gold);
  font-family: var(--font-display);
  transform: rotate(45deg);
}

.ph-brand-emblem i {
  font-style: normal;
  transform: rotate(-45deg);
}

.ph-brand strong,
.ph-header .ph-brand strong {
  color: #F3F2EF;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: .2px;
}

.ph-brand small,
.ph-header .ph-brand small {
  color: rgba(243, 242, 239, .72);
  font-size: var(--type-small);
  font-weight: 600;
  letter-spacing: .2px;
}

.ph-links {
  justify-content: center;
  gap: 10px;
  margin: 0;
}

.ph-links > a,
.ph-header.is-scrolled .ph-links > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: var(--radius-button);
  color: #F3F2EF;
  font-size: var(--type-menu);
  font-weight: 600;
  letter-spacing: .2px;
}

.ph-links > a::after,
.ph-header.is-scrolled .ph-links > a::after {
  display: none;
}

.ph-links > a:hover {
  color: var(--muted-gold);
  background: rgba(200, 162, 106, .08);
}

.ph-links > a.active {
  color: #F3F2EF;
  background: rgba(167, 122, 70, .20);
}

.ph-actions {
  gap: 12px;
  padding-left: var(--space-3);
  border-left: 1px solid rgba(229, 222, 212, .18);
}

.ph-phone {
  color: #F3F2EF;
}

.ph-phone svg {
  stroke: var(--muted-gold);
  stroke-width: 2;
}

.ph-phone span {
  color: #F3F2EF;
  font-size: var(--type-menu);
  font-weight: 600;
}

.ph-menu-button span {
  background: #F3F2EF;
}

@media (max-width: 1120px) {
  .ph-nav-shell,
  .premium-public-page .ph-nav-shell,
  .ph-header.is-scrolled .ph-nav-shell,
  .premium-public-page .ph-header.is-scrolled .ph-nav-shell {
    height: 84px;
  }

  .ph-nav {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
  }

  .ph-actions .ph-phone,
  .ph-actions .ph-whatsapp {
    display: none;
  }

  .ph-links,
  .ph-header.is-scrolled .ph-links {
    top: 84px;
    background: rgba(43, 46, 52, .98);
    border-top: 1px solid rgba(229, 222, 212, .16);
    box-shadow: var(--shadow-header);
  }

  .ph-links.open {
    display: flex;
  }

  .ph-links > a,
  .ph-header.is-scrolled .ph-links > a {
    min-height: 56px;
    padding: 10px 18px;
  }

  .ph-mobile-nav-actions a {
    border-color: rgba(229, 222, 212, .24);
    color: #F3F2EF;
    font-size: var(--type-menu);
  }

  .ph-mobile-nav-actions a:last-child {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--card-surface);
  }
}

@media (max-width: 600px) {
  .ph-header .ph-container {
    width: calc(100% - 24px);
  }

  .ph-brand strong {
    font-size: 24px;
  }

  .ph-brand small {
    display: none;
  }

  .ph-consult {
    min-height: 46px;
    padding: 0 14px;
  }
}

@media (min-width: 1101px) {
  .ph-links > a,
  .ph-header.is-scrolled .ph-links > a {
    font-size: 18px;
    font-weight: 600;
  }
  .ph-links,
  .ph-header.is-scrolled .ph-links {
    gap: 24px;
  }
}

/* Buttons */
.ph-button,
.button,
.ph-consult,
.ph-whatsapp,
.ph-search-form button,
.ph-consult-form button,
.filter-toggle,
.detail-actions button,
.gallery-open,
.contact-actions a,
.agent-card-actions a,
.category-nav a,
.text-link,
.ph-text-link,
.whatsapp-premium {
  border-radius: var(--radius-button);
  font-family: var(--font-body);
  font-size: var(--type-button);
  font-weight: 700;
  letter-spacing: .2px;
}

.ph-button,
.button,
.ph-consult,
.ph-search-form button,
.ph-consult-form button {
  min-height: 56px;
  padding-inline: 24px;
}

.ph-button:not(.ph-button-ghost):not(.ph-button-dark):not(.ph-button-outline),
.button:not(.button-ghost):not(.button-dark):not(.button-outline),
.ph-button-gold,
.button-gold,
.ph-consult,
.ph-consult-form button {
  border: 1px solid var(--gold);
  background: var(--gold);
  color: var(--card-surface);
  box-shadow: none;
}

.ph-button:not(.ph-button-ghost):not(.ph-button-dark):not(.ph-button-outline):hover,
.button:not(.button-ghost):not(.button-dark):not(.button-outline):hover,
.ph-button-gold:hover,
.button-gold:hover,
.ph-consult:hover,
.ph-consult-form button:hover {
  border-color: var(--gold-hover) !important;
  background: var(--gold-hover) !important;
  color: var(--card-surface) !important;
  transform: translateY(-2px);
}

.ph-button-dark,
.button-dark,
.ph-search-form button {
  border: 1px solid var(--dark-surface);
  background: var(--dark-surface);
  color: var(--card-surface);
}

.ph-button-dark:hover,
.button-dark:hover,
.ph-search-form button:hover {
  background: var(--dark-surface-hover);
  border-color: var(--dark-surface-hover);
  transform: translateY(-2px);
}

.ph-button-ghost,
.button-ghost,
.button-outline {
  border: 1px solid rgba(243, 242, 239, .42);
  background: rgba(243, 242, 239, .08);
  color: #F3F2EF;
}

.ph-text-link,
.text-link {
  border-bottom: 1px solid var(--gold);
  color: var(--primary-text);
}

.ph-text-link span,
.text-link span {
  color: var(--gold);
}

/* Hero */
.ph-hero {
  min-height: 860px;
  color: #F3F2EF;
}

.ph-hero-overlay {
  background: rgba(18, 18, 20, .32);
}

.ph-hero-copy h1 {
  color: #F3F2EF;
  font-size: var(--type-h1);
  max-width: 760px;
}

.ph-hero-copy h1 em,
.ph-hero-copy .ph-kicker,
.ph-kicker-light,
.eyebrow-light {
  color: var(--muted-gold);
}

.ph-hero-copy > p {
  max-width: 690px;
  color: rgba(243, 242, 239, .88);
  font-size: var(--type-body);
}

.ph-trust-row small,
.ph-trust-row strong {
  font-size: var(--type-small);
}

/* Search Card */
.ph-search-card {
  width: min(740px, 100%);
  padding: 40px;
  border: 1px solid rgba(229, 222, 212, .82);
  border-radius: var(--radius-panel);
  background: rgba(255, 255, 255, .92);
  color: var(--primary-text);
  box-shadow: 0 22px 70px rgba(30, 31, 34, .11);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.ph-search-head {
  align-items: start;
}

.ph-search-head small {
  color: var(--gold);
  font-size: var(--type-small);
}

.ph-search-head h2 {
  margin-top: 8px;
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
}

.ph-search-description,
.ph-search-note {
  color: var(--secondary-text);
  font-size: 17px;
  line-height: 1.65;
}

.ph-live {
  color: var(--gold);
  font-size: var(--type-small);
}

.ph-live i {
  background: var(--success);
  box-shadow: 0 0 0 4px rgba(76, 122, 99, .12);
}

.ph-search-tabs {
  gap: 8px;
  margin: 28px 0 24px;
  border-bottom: 0;
}

.ph-search-tabs button {
  min-height: 56px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-button);
  background: var(--section-background);
  color: var(--secondary-text);
  font-size: var(--type-menu);
  font-weight: 600;
  letter-spacing: .2px;
}

.ph-search-tabs button::after {
  display: none;
}

.ph-search-tabs button.active {
  border-color: rgba(167, 122, 70, .38);
  background: rgba(167, 122, 70, .12);
  color: var(--primary-text);
}

.ph-search-form {
  gap: 14px;
}

.ph-search-form label > span {
  color: var(--secondary-text);
  font-size: var(--type-small);
  font-weight: 600;
  letter-spacing: .2px;
}

.ph-search-form label svg {
  stroke: var(--gold);
}

.ph-search-form select,
.ph-search-form input {
  height: 60px;
  padding: 0 18px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-button);
  background: var(--card-surface);
  color: var(--primary-text);
  font-size: var(--type-form);
}

.ph-search-form button {
  height: 64px;
  border-radius: var(--radius-button);
  font-size: 18px;
  font-weight: 700;
}

.ph-search-form button span,
.ph-search-form button small {
  font-size: 18px;
}

/* Section rhythm */
.ph-section,
.section {
  padding-block: var(--space-15);
}

.ph-featured,
.section:nth-of-type(5n + 1),
.listing-section {
  background: var(--primary-background);
}

.ph-services,
.ph-journal,
.section:nth-of-type(5n + 2),
.section:nth-of-type(5n + 4) {
  background: var(--card-surface);
}

.ph-projects,
.ph-faq,
.ph-workflow,
.detail-faq,
.section:nth-of-type(5n + 3) {
  background: var(--section-background);
}

.ph-agents,
.detail-top,
.section:nth-of-type(5n) {
  background: var(--primary-background);
}

.premium-home-page .ph-regions,
.premium-home-page .ph-metrics,
.premium-home-page .ph-testimonials,
.page-hero,
.contact-details,
.ph-consultation {
  background: var(--dark-surface);
  color: #F3F2EF;
}

.premium-home-page .ph-regions .ph-section-head-light h2,
.premium-home-page .ph-metrics,
.premium-home-page .ph-testimonials,
.page-hero h1,
.contact-details h2,
.ph-consultation h2,
.ph-video h2 {
  color: #F3F2EF;
}

.premium-home-page .ph-regions .ph-section-head-light p,
.premium-home-page .ph-regions .ph-text-link-light,
.page-hero p,
.breadcrumbs,
.contact-details p {
  color: rgba(243, 242, 239, .76);
}

/* Cards */
.ph-property-card,
.property-card,
.content-card,
.agent-grid article,
.ph-journal-card,
.filters,
.results-head,
.contact-card,
.feature-strip,
.unit-table,
.region-stats,
.article-toc,
.project-meta {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-card);
  background: var(--card-surface);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.ph-property-card,
.property-card,
.content-card,
.agent-grid article,
.ph-journal-card,
.ph-region-card,
.ph-project-card {
  transition:
    transform var(--duration-normal) var(--ease-premium),
    box-shadow var(--duration-normal) var(--ease-premium),
    border-color var(--duration-normal) var(--ease-premium);
}

.ph-property-card:hover,
.property-card:hover,
.content-card:hover,
.agent-grid article:hover,
.ph-journal-card:hover,
.ph-region-card:hover,
.ph-project-card:hover {
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
  transform: translateY(-6px);
}

.ph-property-info,
.property-body,
.content-card > div,
.agent-grid article > div,
.ph-journal-card > div {
  background: var(--card-surface);
}

.ph-property-info h3,
.property-body h3,
.content-card h2,
.agent-grid h2,
.ph-service-list h3,
.ph-journal-card h3 {
  color: var(--primary-text);
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.42;
}

.ph-card-shade,
.property-image::after,
.ph-project-overlay,
.ph-region-card::after {
  background: linear-gradient(0deg, rgba(18, 18, 20, .54), rgba(18, 18, 20, .03) 68%);
}

.ph-card-tags span,
.listing-badge,
.featured-badge,
.ph-project-status,
.project-status,
.badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: var(--radius-pill);
  font-size: var(--type-small);
  font-weight: 700;
  letter-spacing: .2px;
  text-transform: none;
}

.ph-card-tags span,
.listing-badge,
.badge {
  background: rgba(35, 37, 43, .88);
  color: #F3F2EF;
}

.ph-card-tags span + span,
.featured-badge,
.ph-project-status {
  background: var(--gold);
  color: var(--card-surface);
}

.property-location,
.ph-location,
.property-features,
.ph-features,
.content-card p,
.agent-grid p,
.project-meta,
.property-card-agent small,
.property-card-agent b {
  color: var(--secondary-text);
  font-size: var(--type-card-copy);
  letter-spacing: 0;
}

.property-location span,
.ph-location span,
.property-price a,
.ph-card-detail b {
  color: var(--gold);
}

.property-price,
.detail-price,
.ph-card-price {
  color: var(--primary-text);
  font-family: var(--font-display);
  font-size: 28px;
  letter-spacing: 0;
}

.ph-card-price {
  color: #F3F2EF;
}

.ph-card-tools button,
.property-favorite {
  border-color: rgba(243, 242, 239, .54);
  background: rgba(35, 37, 43, .62);
  color: #F3F2EF;
}

.ph-card-tools button:hover,
.property-favorite:hover,
.property-favorite.is-active {
  background: var(--gold);
  color: var(--card-surface);
}

/* Forms and public inner pages */
:where(.ph-search-form, .ph-consult-form, .filters, .contact-card, .contact-page-form) :is(input, select, textarea),
.results-head select {
  min-height: 60px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-button);
  background: var(--card-surface);
  color: var(--primary-text);
  font-size: var(--type-form);
}

:where(.ph-search-form, .ph-consult-form, .filters, .contact-card, .contact-page-form) :is(input, select, textarea):focus,
.results-head select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(167, 122, 70, .12);
  outline: none;
}

:where(.ph-search-form, .ph-consult-form, .filters, .contact-card) label,
.filters label,
.contact-card label {
  color: var(--secondary-text);
  font-size: var(--type-form);
  font-weight: 600;
  letter-spacing: .2px;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--gold);
}

.premium-public-page main {
  padding-top: 92px;
}

.page-hero {
  padding-block: var(--space-12);
}

.page-hero::after {
  background: linear-gradient(115deg, transparent 55%, rgba(200, 162, 106, .09));
}

.filters {
  top: 112px;
  padding: 30px;
}

.filter-title,
.property-features,
.agent,
.content-block,
.feature-strip div,
.unit-table > div,
.region-stats div {
  border-color: var(--border-color);
}

.results-head {
  min-height: 72px;
  font-size: var(--type-body);
}

.results-head b {
  color: var(--primary-text);
  font-size: 24px;
}

.category-nav a,
.contact-actions a,
.agent-card-actions a,
.detail-actions button,
.gallery-open,
.view-switch button {
  border-color: var(--border-color);
  background: var(--card-surface);
  color: var(--primary-text);
  font-size: var(--type-button);
}

.category-nav a:hover,
.view-switch button.active,
.agent-card-actions a:nth-child(2) {
  background: var(--dark-surface);
  color: #F3F2EF;
}

.amenities span,
.project-meta span {
  border-radius: var(--radius-button);
  background: var(--section-background);
  color: var(--secondary-text);
  font-size: var(--type-card-copy);
}

.amenities span.yes,
.badge--success,
.ph-energy {
  background: rgba(76, 122, 99, .12);
  color: var(--success) !important;
}

.article-content {
  color: var(--primary-text);
  font-size: var(--type-body);
  line-height: 1.86;
}

.article-content :where(h2, h3) {
  color: var(--primary-text);
  font-family: var(--font-display);
  letter-spacing: 0;
}

.article-content h2 {
  font-size: var(--type-h2);
}

.article-content h3 {
  font-size: var(--type-h3);
}

.article-content blockquote {
  border-left-color: var(--gold);
  background: var(--section-background);
  color: var(--primary-text);
}

.contact-details {
  border-radius: var(--radius-card);
}

.contact-details a,
.contact-details span,
.contact-details small {
  color: #F3F2EF;
  font-size: var(--type-footer);
}

.flash.success {
  background: var(--success);
}

.flash.error {
  background: var(--danger);
}

/* Footer */
.pf-map-layer {
  background: var(--primary-background);
}

.pf-map-grid h2 {
  color: var(--primary-text);
}

.pf-map-grid p {
  color: var(--secondary-text);
  font-size: var(--type-body);
}

.pf-map,
.detail-map {
  border: 8px solid var(--card-surface);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.pf-footer,
.pf-main,
.pf-bottom {
  background: #2B2E34;
  color: rgba(243, 242, 239, .78);
}

.pf-footer .ph-brand strong {
  color: #F3F2EF;
}

.pf-footer .ph-brand small {
  color: var(--muted-gold);
}

.pf-about p,
.pf-grid > div > a,
.pf-grid > div > span,
.pf-grid > div > small,
.pf-bottom {
  color: rgba(243, 242, 239, .78);
  font-size: var(--type-footer);
  line-height: var(--leading-footer);
}

.pf-grid h3 {
  color: var(--muted-gold);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .2px;
}

.pf-social a {
  border-color: rgba(200, 162, 106, .35);
  color: var(--muted-gold);
}

.whatsapp-premium {
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid rgba(229, 222, 212, .56) !important;
  background: var(--gold) !important;
  color: var(--card-surface) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden;
}

.whatsapp-premium:hover {
  width: 154px;
  background: var(--gold-hover) !important;
}

.whatsapp-premium svg {
  width: 27px;
  height: 27px;
  fill: currentColor;
}

.whatsapp-premium span {
  max-width: 0;
  margin-left: 0;
  overflow: hidden;
  opacity: 0;
  white-space: nowrap;
}

.whatsapp-premium:hover span {
  max-width: 90px;
  margin-left: 9px;
  opacity: 1;
}

/* Global small text cleanup */
body:is(.premium-home-page, .premium-public-page) :where(small, .ph-kicker, .eyebrow, .breadcrumbs, .property-location, .ph-location, .property-features, .ph-features, .content-card small, .agent-grid small, .article-toc a, .article-share span, .project-toolbar > span, .project-meta, .contact-actions a, .agent-card-actions a, .mobile-contact-bar a) {
  font-size: var(--type-small);
}

body:is(.premium-home-page, .premium-public-page) :where(.ph-button, .button, button, input, select, textarea) {
  font-size: var(--type-button);
}

.ds-skeleton {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--border-color);
}

.ds-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .62), transparent);
  transform: translateX(-100%);
  animation: ds-skeleton 1.25s infinite;
}

@keyframes ds-skeleton {
  to {
    transform: translateX(100%);
  }
}

@media (max-width: 1024px) {
  .premium-public-page main {
    padding-top: 84px;
  }

  .ph-search-card {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .ph-section,
  .section {
    padding-block: var(--space-10);
  }

  .ph-hero {
    min-height: 0;
    padding: 132px 0 72px;
  }

  .ph-search-card {
    padding: 30px;
    border-radius: 24px;
  }

  .ph-search-form {
    grid-template-columns: 1fr;
  }

  .mobile-contact-bar {
    background: var(--card-surface);
    border-top-color: var(--border-color);
  }

  .mobile-contact-bar a {
    color: var(--primary-text);
  }

  .mobile-contact-bar a:last-child {
    background: var(--dark-surface);
    color: #F3F2EF;
  }
}

@media (max-width: 600px) {
  .ph-button,
  .button,
  .ph-search-form button {
    width: 100%;
  }

  .page-hero {
    padding-block: var(--space-8);
  }

  .whatsapp-premium {
    right: 14px;
    bottom: 14px;
    width: 50px !important;
    height: 50px;
  }

  .whatsapp-premium span {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body:is(.premium-home-page, .premium-public-page) *,
  body:is(.premium-home-page, .premium-public-page) *::before,
  body:is(.premium-home-page, .premium-public-page) *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Header layout repair: the two-tier header owns its full vertical space. */
.ph-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  height: 136px;
  isolation: isolate;
  color: #F3F2EF;
}

.ph-topbar {
  height: 44px;
  background: rgba(35, 37, 43, .98);
  border-bottom: 1px solid rgba(229, 222, 212, .12);
}

.ph-topbar-inner,
.ph-topbar-actions {
  display: flex;
  align-items: center;
}

.ph-topbar-inner {
  height: 100%;
  justify-content: space-between;
  gap: 24px;
}

.ph-topbar-note,
.ph-topbar-phone,
.ph-social-link,
.ph-topbar-consult {
  font-size: 16px;
  line-height: 1;
}

.ph-topbar-note {
  color: rgba(243, 242, 239, .72);
  letter-spacing: .2px;
}

.ph-topbar-actions {
  justify-content: flex-end;
  gap: 18px;
  margin-left: auto;
}

.ph-topbar-phone {
  color: #F3F2EF;
  font-weight: 600;
}

.ph-social-link {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #F3F2EF;
  transition: color .2s ease;
}

.ph-social-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ph-social-link:hover {
  background: transparent;
  color: var(--muted-gold);
}

.ph-topbar-consult {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 16px;
  border: 1px solid var(--gold);
  border-radius: var(--radius-button);
  background: var(--gold);
  color: #fff;
  font-weight: 700;
  transition: background-color .2s ease, border-color .2s ease;
}

.ph-topbar-consult:hover {
  border-color: var(--gold-hover);
  background: var(--gold-hover);
}

.ph-nav-shell,
.premium-public-page .ph-nav-shell,
.ph-header.is-scrolled .ph-nav-shell,
.premium-public-page .ph-header.is-scrolled .ph-nav-shell {
  height: 92px;
  background: rgba(43, 46, 52, .92);
  border-bottom: 1px solid rgba(229, 222, 212, .18);
  box-shadow: var(--shadow-header);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.ph-nav {
  grid-template-columns: auto minmax(0, 1fr) 160px;
  gap: 70px;
}

.ph-links {
  gap: clamp(24px, 2.5vw, 40px);
}

.ph-actions {
  display: none !important;
}

.ph-nav-spacer {
  width: 160px;
  min-width: 0;
}

.ph-hero {
  padding-top: 136px;
  box-sizing: border-box;
}

.ph-hero-overlay {
  background: rgba(18, 18, 20, .32);
}

.ph-hero::before,
.ph-hero::after,
.ph-consultation::before {
  content: none !important;
}

.premium-public-page main {
  padding-top: 136px;
}

@media (max-width: 1024px) {
  .ph-header {
    height: 128px;
  }

  .ph-topbar-note,
  .ph-topbar-consult {
    display: none;
  }

  .ph-topbar-inner {
    justify-content: flex-end;
  }

  .ph-nav-shell,
  .premium-public-page .ph-nav-shell,
  .ph-header.is-scrolled .ph-nav-shell,
  .premium-public-page .ph-header.is-scrolled .ph-nav-shell {
    height: 84px;
  }

  .ph-nav {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
  }

  .ph-nav-spacer {
    display: none;
  }

  .ph-links,
  .ph-header.is-scrolled .ph-links {
    top: 84px;
  }

  .ph-hero {
    padding-top: 128px;
  }

  .premium-public-page main {
    padding-top: 128px;
  }
}

@media (max-width: 600px) {
  .ph-topbar-actions {
    gap: 16px;
  }

  .ph-topbar-phone {
    font-size: 15px;
  }

  .ph-hero {
    padding-top: 128px;
  }
}

/* Final header alignment: one bounded row on desktop, one controlled mobile state. */
.ph-header {
  height: 126px;
}

.ph-topbar {
  height: 42px;
}

.ph-nav-shell,
.premium-public-page .ph-nav-shell,
.ph-header.is-scrolled .ph-nav-shell,
.premium-public-page .ph-header.is-scrolled .ph-nav-shell {
  height: 84px;
}

.ph-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  height: 84px;
  min-width: 0;
}

.ph-brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 270px;
  width: 270px;
  min-width: 0;
  gap: 14px;
  overflow: visible;
}

.ph-brand-emblem {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
}

.ph-brand > span:last-child {
  min-width: 0;
  overflow: visible;
}

.ph-header .ph-brand strong {
  display: block;
  font-size: 26px;
  line-height: 1;
  white-space: nowrap;
}

.ph-header .ph-brand small {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .16em;
  white-space: nowrap;
}

.ph-links,
.ph-header.is-scrolled .ph-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
  gap: 26px;
  margin: 0;
  overflow: visible;
  white-space: nowrap;
}

.ph-links > a,
.ph-header.is-scrolled .ph-links > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 12px 8px;
  border-radius: 0;
  color: #F3F2EF;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.ph-links > a::after,
.ph-header.is-scrolled .ph-links > a::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 3px;
  display: block;
  height: 2px;
  background: transparent;
  transition: background-color .2s ease;
}

.ph-links > a:hover {
  color: var(--muted-gold);
  background: transparent;
}

.ph-links > a.active,
.ph-header.is-scrolled .ph-links > a.active {
  color: var(--muted-gold);
  background: transparent;
}

.ph-links > a.active::after,
.ph-header.is-scrolled .ph-links > a.active::after {
  right: 8px;
  background: var(--muted-gold);
}

.ph-nav-spacer,
.ph-actions {
  display: none;
}

.ph-menu-button {
  display: none;
}

.ph-hero {
  padding-top: 126px;
}

.premium-public-page main {
  padding-top: 126px;
}

@media (max-width: 1279px) and (min-width: 1101px) {
  .ph-nav {
    gap: 24px;
  }

  .ph-brand {
    flex-basis: 250px;
    width: 250px;
  }

  .ph-brand-emblem {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .ph-header .ph-brand strong {
    font-size: 24px;
  }

  .ph-links {
    gap: 18px;
  }
}

@media (max-width: 1100px) {
  .ph-header {
    height: 126px;
  }

  .ph-nav {
    gap: 16px;
  }

  .ph-brand {
    flex-basis: 250px;
    width: 250px;
  }

  .ph-menu-button {
    display: block;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .ph-links,
  .ph-header.is-scrolled .ph-links {
    position: absolute;
    top: 126px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: calc(100vh - 126px);
    margin: 0;
    padding: 14px 24px 22px;
    overflow-y: auto;
    background: rgba(43, 46, 52, .98);
    box-shadow: var(--shadow-header);
    white-space: normal;
  }

  .ph-links.open {
    display: flex;
  }

  .ph-links > a,
  .ph-header.is-scrolled .ph-links > a {
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 0 16px;
    font-size: 18px;
    line-height: 1;
  }

  .ph-links > a::after,
  .ph-header.is-scrolled .ph-links > a::after {
    display: none;
  }

  .ph-links > a.active,
  .ph-header.is-scrolled .ph-links > a.active {
    color: var(--muted-gold);
    background: transparent;
    border-radius: 0;
  }

  .ph-mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
    padding-top: 16px;
    border-top: 1px solid rgba(229, 222, 212, .16);
  }

  .ph-mobile-nav-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 12px;
    border: 1px solid rgba(229, 222, 212, .24);
    color: #F3F2EF;
    font-size: 18px;
    text-align: center;
  }

  .ph-mobile-nav-actions a:last-child {
    border-color: var(--gold);
    background: var(--gold);
    color: #fff;
  }
}

@media (max-width: 1024px) {
  .ph-topbar-note,
  .ph-topbar-consult {
    display: none;
  }

  .ph-topbar-inner {
    justify-content: flex-end;
  }
}

@media (max-width: 600px) {
  .ph-container,
  .ph-header .ph-container {
    width: calc(100% - 32px);
  }

  .ph-brand {
    flex-basis: 220px;
    width: 220px;
    gap: 12px;
  }

  .ph-brand-emblem {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  .ph-header .ph-brand strong {
    font-size: 22px;
  }

  .ph-header .ph-brand small {
    font-size: 10px;
  }

  .ph-links,
  .ph-header.is-scrolled .ph-links {
    padding-inline: 16px;
  }

  .ph-mobile-nav-actions {
    grid-template-columns: 1fr;
  }
}

/* Homepage services and workflow: compact, readable, horizontal-first layouts. */
.premium-home-page .ph-services {
  padding: 104px 0 108px;
  background: var(--card-surface);
}

.premium-home-page .ph-services > .ph-container {
  display: block;
}

.premium-home-page .ph-ia-heading {
  max-width: 760px;
  margin: 0;
}

.premium-home-page .ph-ia-heading h2 {
  max-width: 760px;
  margin: 16px 0 0;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.08;
}

.premium-home-page .ph-ia-heading h2 em {
  color: var(--gold);
  font-style: normal;
}

.premium-home-page .ph-services-layout {
  display: block;
  margin-top: 28px;
}

.premium-home-page .ph-service-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  max-width: 760px;
  margin-bottom: 38px;
}

.premium-home-page .ph-service-summary p {
  max-width: 600px;
  margin: 0;
  color: var(--secondary-text);
  font-size: 17px;
  line-height: 1.65;
}

.premium-home-page .ph-service-cta {
  flex: 0 0 auto;
  white-space: nowrap;
}

.premium-home-page .ph-service-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.premium-home-page .ph-service-list article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 258px;
  padding: 30px 28px 26px;
  border: 1px solid var(--border-color);
  border-radius: 18px;
  background: var(--card-surface);
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-normal) var(--ease-premium), box-shadow var(--duration-normal) var(--ease-premium), border-color var(--duration-normal) var(--ease-premium);
}

.premium-home-page .ph-service-list article:first-child {
  border-top: 1px solid var(--border-color);
}

.premium-home-page .ph-service-list article:hover {
  padding-left: 28px;
  border-color: var(--gold);
  background: var(--card-surface);
  box-shadow: var(--shadow-md);
  transform: translateY(-5px);
}

.premium-home-page .ph-service-list article > svg {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin-bottom: 22px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.5;
}

.premium-home-page .ph-service-list article > div {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
}

.premium-home-page .ph-service-list h3 {
  min-width: 0;
  margin: 0 0 10px;
  color: var(--primary-text);
  font-family: var(--font-body);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
  word-break: normal;
  overflow-wrap: normal;
}

.premium-home-page .ph-service-list p {
  display: -webkit-box;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--secondary-text);
  font-size: 16px;
  line-height: 1.6;
  word-break: normal;
  overflow-wrap: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.premium-home-page .ph-service-list article a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  color: var(--gold-hover);
  font-size: 16px;
  font-weight: 700;
}

.premium-home-page .ph-service-list article a span {
  color: var(--gold);
  font-size: 18px;
}

.premium-home-page .ph-workflow {
  padding: 96px 0 104px;
  background: var(--section-background);
}

.premium-home-page .ph-workflow .ph-ia-heading {
  margin-inline: auto;
  text-align: center;
}

.premium-home-page .ph-workflow .ph-ia-heading p {
  max-width: 680px;
  margin: 18px auto 0;
  color: var(--secondary-text);
  font-size: 17px;
  line-height: 1.65;
}

.premium-home-page .ph-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 58px;
}

.premium-home-page .ph-timeline > div {
  position: relative;
  min-width: 0;
  padding-right: 20px;
}

.premium-home-page .ph-timeline > div:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 58px;
  right: 0;
  height: 1px;
  background: var(--border-color);
}

.premium-home-page .ph-timeline > div > span {
  position: relative;
  z-index: 1;
  display: block;
  width: max-content;
  margin-bottom: 22px;
  color: var(--gold);
  font: 500 40px/1 var(--font-display);
}

.premium-home-page .ph-timeline strong {
  display: block;
  color: var(--primary-text);
  font-family: var(--font-body);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}

.premium-home-page .ph-timeline p {
  max-width: 230px;
  margin: 9px 0 0;
  color: var(--secondary-text);
  font-size: 15px;
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .premium-home-page .ph-services,
  .premium-home-page .ph-workflow {
    padding-block: 88px;
  }

  .premium-home-page .ph-service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-home-page .ph-timeline {
    gap: 20px;
  }

  .premium-home-page .ph-timeline strong {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .premium-home-page .ph-services,
  .premium-home-page .ph-workflow {
    padding-block: 72px;
  }

  .premium-home-page .ph-ia-heading h2 {
    font-size: 36px;
  }

  .premium-home-page .ph-service-summary {
    display: block;
    margin-bottom: 30px;
  }

  .premium-home-page .ph-service-summary p {
    font-size: 16px;
  }

  .premium-home-page .ph-service-cta {
    margin-top: 22px;
  }

  .premium-home-page .ph-service-list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .premium-home-page .ph-service-list article {
    min-height: 0;
  }

  .premium-home-page .ph-timeline {
    display: block;
    margin-top: 42px;
  }

  .premium-home-page .ph-timeline > div {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 18px;
    min-height: 112px;
    padding: 0;
  }

  .premium-home-page .ph-timeline > div:not(:last-child)::after {
    top: 48px;
    bottom: 0;
    left: 19px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .premium-home-page .ph-timeline > div > span {
    grid-row: 1 / span 2;
    margin: 0;
    font-size: 34px;
  }

  .premium-home-page .ph-timeline strong {
    align-self: end;
    font-size: 18px;
  }

  .premium-home-page .ph-timeline p {
    margin: 7px 0 28px;
    font-size: 15px;
  }
}

/* Hero search panel: fixed 2x2 fields with a compact responsive fallback. */
.premium-home-page .ph-search-card {
  width: 100%;
  max-width: 620px;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 30px;
  box-sizing: border-box;
  border-radius: 24px;
}

.premium-home-page .ph-search-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.premium-home-page .ph-search-head > div {
  min-width: 0;
}

.premium-home-page .ph-search-head small {
  display: block;
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}

.premium-home-page .ph-search-head h2 {
  margin: 8px 0 0;
  font-size: 30px;
  line-height: 1.2;
}

.premium-home-page .ph-search-description {
  display: -webkit-box;
  max-width: 460px;
  margin: 8px 0 0;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.premium-home-page .ph-live {
  flex: 0 0 auto;
  padding-top: 3px;
  font-size: 14px;
  white-space: nowrap;
}

.premium-home-page .ph-search-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 24px 0 20px;
  border: 0;
}

.premium-home-page .ph-search-tabs button {
  width: 100%;
  min-width: 0;
  height: 52px;
  padding: 0 8px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--section-background);
  color: var(--primary-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.premium-home-page .ph-search-tabs button::after {
  display: none;
}

.premium-home-page .ph-search-tabs button.active {
  border-color: var(--dark-surface);
  background: var(--dark-surface);
  color: #fff;
}

.premium-home-page .ph-search-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  align-items: start;
  gap: 16px;
  min-width: 0;
  margin: 0;
}

.premium-home-page .ph-search-form > input[type="hidden"] {
  display: none;
}

.premium-home-page .ph-search-form > label {
  display: block;
  min-width: 0;
  width: 100%;
  margin: 0;
}

.premium-home-page .ph-search-form > label > span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 24px;
  margin: 0 0 8px;
  color: var(--secondary-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

.premium-home-page .ph-search-form > label > span svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.premium-home-page .ph-search-form > label > select {
  display: block;
  width: 100%;
  height: 56px;
  min-width: 0;
  padding: 0 16px;
  box-sizing: border-box;
  border: 1px solid var(--border-color);
  border-radius: 13px;
  background: var(--card-surface);
  color: var(--primary-text);
  font-size: 16px;
  line-height: 1;
}

.premium-home-page .ph-search-form > button {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  height: 60px;
  min-width: 0;
  margin-top: 2px;
  padding: 0 18px;
  border: 0;
  border-radius: 13px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
}

.premium-home-page .ph-search-form > button svg {
  width: 22px;
  height: 22px;
}

.premium-home-page .ph-search-form > button span {
  min-width: 0;
  overflow: hidden;
  padding: 0 12px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-home-page .ph-search-form > button b {
  margin-left: 0;
  font-size: 22px;
}

.premium-home-page .ph-search-note {
  margin: 14px 0 0;
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 767px) {
  .premium-home-page .ph-search-card {
    padding: 20px;
  }

  .premium-home-page .ph-search-head h2 {
    font-size: 28px;
  }

  .premium-home-page .ph-search-tabs {
    gap: 8px;
  }

  .premium-home-page .ph-search-tabs button {
    height: 50px;
    padding-inline: 4px;
    font-size: 15px;
  }

  .premium-home-page .ph-search-form {
    grid-template-columns: 1fr;
  }

  .premium-home-page .ph-search-form > label > select {
    height: 54px;
  }

  .premium-home-page .ph-search-form > button {
    height: 58px;
    margin-top: 2px;
  }
}
.premium-home-page .ph-service-image{width:calc(100% + 56px);height:168px;flex:0 0 168px;margin:-30px -28px 24px;overflow:hidden;border-radius:17px 17px 0 0}.premium-home-page .ph-service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.premium-home-page .ph-service-list article{overflow:hidden}
@media (max-width: 900px){.premium-home-page .ph-service-image{width:calc(100% + 48px);height:150px;flex-basis:150px;margin:-26px -24px 20px}}
