/* Homepage: stage, editorial bands, tactile goal posters and product interfaces. */
.hf-site .hf-hero-section {
  min-block-size: 86svh;
  display: flex;
  align-items: center;
  --hf-section-padding: clamp(48px,4.5vw,64px);
}

.hf-site .hf-hero-section .hf-container {
  max-inline-size: var(--hf-container-wide);
}

.hf-site .hf-hero h1 {
  font-size: var(--hf-hero-heading);
  line-height: var(--hf-line-display);
  max-inline-size: 18ch;
  text-wrap: balance;
}

.hf-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-space-3) var(--hf-space-5);
  list-style: none;
  padding: 0;
  margin-block: var(--hf-space-4) 0;
  font-size: var(--hf-font-size-meta);
}

.hf-trust-list li::before {
  content: '';
  display: inline-block;
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: var(--hf-primary);
  margin-inline-end: var(--hf-space-2);
}

/* Campaign photo stays replaceable in Elementor; branding is live UI, not baked pixels. */
.hf-site .hf-performance-stage {
  position: relative;
  background: var(--hf-primary-dark);
  padding: var(--hf-space-6);
  border: 1px solid var(--hf-border);
  border-radius: var(--hf-radius-image);
  min-block-size: var(--hf-hero-height);
  overflow: hidden;
  gap: 0;
  justify-content: end;
  isolation: isolate;
}

/* Image widgets may render with or without Elementor's wrapper. Both paths fill the frame. */
.hf-site .hf-performance-stage .hf-hero-photo,
.hf-site .hf-goal-tile .hf-goal-art {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: none;
  margin: 0;
  z-index: -2;
}

.hf-site .hf-hero-photo .elementor-widget-container,
.hf-site .hf-hero-photo img,
.hf-site .hf-goal-art .elementor-widget-container,
.hf-site .hf-goal-art img {
  inline-size: 100%;
  block-size: 100%;
}

.hf-hero-photo img {
  object-fit: cover;
  object-position: 50% 12%;
}

.hf-performance-stage::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 50%,rgba(58,11,18,.7));
  z-index: -1;
  pointer-events: none;
}

.hf-site .hf-hero-route {
  position: absolute;
  inset-inline-end: -20%;
  inset-block-start: 10%;
  inline-size: 70%;
  opacity: .12;
  transform: rotate(30deg);
  pointer-events: none;
}

.hf-site .hf-campaign-overlay {
  position: relative;
  z-index: 1;
  background: rgba(248,243,237,.97);
  border-block-start: 2px solid var(--hf-primary);
  border-radius: 0;
  padding: var(--hf-space-4) var(--hf-space-5);
  color: var(--hf-primary);
  gap: var(--hf-space-3);
}

.hf-site .hf-campaign-overlay .hf-interface-label {
  color: var(--hf-primary);
}

.hf-site .hf-product-interface p {
  color: var(--hf-text-soft);
}

.hf-site .hf-interface-label {
  display: flex;
  justify-content: space-between;
  gap: var(--hf-space-3);
  direction: ltr;
  font-size: var(--hf-font-size-xs);
  font-weight: var(--hf-weight-medium);
  letter-spacing: .1em;
  color: var(--hf-on-dark-soft);
  margin: 0;
}

.hf-interface-label span {
  direction: rtl;
  letter-spacing: 0;
}

.hf-site .hf-interface-note {
  font-size: var(--hf-font-size-sm);
  line-height: var(--hf-line-caption);
  margin: 0;
}

.hf-site .hf-page>.elementor>.hf-trust-band {
  --padding-top: var(--hf-space-12);
  --padding-bottom: var(--hf-space-12);
  padding-block: var(--hf-trust-space,var(--hf-space-9));
  background: var(--hf-secondary);
  border-block: 1px solid var(--hf-border);
}

.hf-trust-grid strong,
.hf-trust-grid small {
  display: block;
}

.hf-trust-grid strong {
  font-size: var(--hf-font-size-subtitle);
  color: var(--hf-primary);
}

.hf-trust-grid>.elementor-widget+.elementor-widget {
  border-inline-start: 1px solid var(--hf-border);
  padding-inline-start: var(--hf-space-6);
}

.hf-trust-grid small {
  font-size: var(--hf-font-size-label);
}

/* Six campaign panels: captions belong to the image, not another UI card. */
/* Two lead stories, four supporting routes: unequal scale gives the gallery a hierarchy. */
.hf-site .hf-goal-tile {
  grid-column: span 3;
  position: relative;
  min-block-size: var(--hf-goal-height);
  overflow: hidden;
  border-radius: var(--hf-radius-image);
  color: var(--hf-on-dark);
  background: var(--hf-primary-dark);
  padding: var(--hf-space-6);
  justify-content: end;
  isolation: isolate;
}

.hf-site .hf-goal-tile--goala {
  grid-column: span 7;
  --hf-goal-height: var(--hf-goal-lead-height);
}

.hf-site .hf-goal-tile--goalb {
  grid-column: span 5;
  --hf-goal-height: var(--hf-goal-lead-height);
}

.hf-goal-tile--goala img {
  object-position: 50% 12%;
}

.hf-goal-tile--goalb img {
  object-position: 50% 5%;
}

.hf-goal-tile--goalc img {
  object-position: 50% 25%;
}

.hf-goal-tile--goald img {
  object-position: 55% 30%;
}

.hf-goal-tile--goale img {
  object-position: 45% 20%;
}

.hf-goal-tile--goalf img {
  object-position: 55% 20%;
}

.hf-goal-art img {
  object-fit: cover;
  transition: transform var(--hf-transition-slow);
}

.hf-goal-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg,transparent 40%,rgba(58,11,18,.35) 65%,rgba(58,11,18,.92));
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .hf-goal-tile:hover .hf-goal-art img {
    transform: scale(var(--hf-image-hover-scale));
  }

}

.hf-site .hf-goal-content {
  z-index: 1;
  gap: var(--hf-space-2);
  max-inline-size: 32ch;
  background: transparent;
  padding: 0;
  border: 0;
}

.hf-site .hf-goal-content h3 {
  font-size: var(--hf-goal-heading);
  font-weight: var(--hf-weight-strong);
  margin: 0;
}

.hf-site .hf-goal-tile--goala h3,
.hf-site .hf-goal-tile--goalb h3 {
  font-size: var(--hf-goal-lead-heading);
}

.hf-site .hf-goal-content p {
  color: var(--hf-on-dark-soft);
  font-size: var(--hf-font-size-body);
  max-inline-size: 32ch;
}

.hf-site .hf-goal-content .hf-card-number {
  color: var(--hf-on-dark-soft);
  font-size: var(--hf-font-size-sm);
  direction: ltr;
  display: block;
  font-weight: var(--hf-weight-medium);
}

.hf-site .hf-goal-content .elementor-button {
  color: var(--hf-on-dark);
  font-size: var(--hf-font-size-control);
}

.hf-goal-hint {
  display: none;
}

.hf-site .hf-brand-statement h2 {
  max-inline-size: 19ch;
  font-size: var(--hf-poster-heading);
  line-height: var(--hf-line-display);
}

.hf-site .hf-statement-line {
  color: var(--hf-on-dark-soft);
  font-size: clamp(1.5rem,2.4vw,2.125rem);
  max-inline-size: 34ch;
}

.hf-site .hf-principle-row {
  margin-block-start: var(--hf-space-8);
  max-inline-size: 100%;
}

.hf-site .hf-principle {
  border-block-start: 1px solid var(--hf-border-on-dark-strong);
  padding-block-start: var(--hf-space-6);
  display: grid;
  grid-template-columns: var(--hf-principle-column) minmax(0,1fr);
  column-gap: var(--hf-space-5);
  row-gap: var(--hf-space-2);
  align-items: start;
}

.hf-site .hf-principle h3 {
  font-size: var(--hf-font-size-title);
}

.hf-site .hf-process-section h2 {
  max-inline-size: 24ch;
}

.hf-site .hf-timeline-step {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows: auto minmax(3.75em,auto) auto;
  align-content: start;
  gap: var(--hf-space-4);
  border-block-start: 1px solid var(--hf-primary);
  padding-block: var(--hf-space-8) 0;
  padding-inline: 0 var(--hf-space-6);
  position: relative;
}

.hf-site .hf-timeline-step::before {
  content: '';
  position: absolute;
  inset-block-start: calc(var(--hf-space-1) * -1);
  inset-inline-start: 0;
  inline-size: var(--hf-space-2);
  block-size: var(--hf-space-2);
  border-radius: 50%;
  background: var(--hf-primary);
}

.hf-step-point {
  display: block;
  color: var(--hf-primary);
  font-size: var(--hf-timeline-number);
  font-weight: var(--hf-weight-strong);
  direction: ltr;
  text-align: end;
  line-height: 1.2;
}

.hf-site .hf-timeline-step h3 {
  font-size: var(--hf-font-size-heading-sm);
  line-height: var(--hf-line-ui);
}

.hf-site .hf-process-visual {
  display: grid;
  grid-template-columns: minmax(0,5fr) minmax(0,7fr);
  align-items: center;
  padding: 0;
  gap: var(--hf-space-12);
}

.hf-process-photo img {
  inline-size: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  object-position: 45% 22%;
  border-radius: var(--hf-radius-image);
}

.hf-site .hf-photo-caption {
  font-size: clamp(1.375rem,2.2vw,2rem);
  line-height: var(--hf-line-caption);
  max-inline-size: 24ch;
  color: var(--hf-primary);
}

.hf-site .hf-delivery-section {
  background: var(--hf-secondary);
}

.hf-site .hf-product-interface {
  background: var(--hf-bone);
  color: var(--hf-text);
  padding: var(--hf-space-10);
  border: 1px solid var(--hf-border);
  border-block-start: 4px solid var(--hf-primary);
  border-radius: 0;
  gap: var(--hf-space-4);
  box-shadow: var(--hf-paper-shadow-offset) var(--hf-paper-shadow-offset) 0 var(--hf-paper-shadow-color);
}

.hf-week-board>div {
  border-block-start: 1px solid var(--hf-border);
  padding: var(--hf-space-4) 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.4fr);
  align-items: baseline;
  gap: var(--hf-space-3);
}

.hf-week-board span {
  font-size: var(--hf-font-size-sm);
  color: var(--hf-primary);
}

.hf-week-board strong {
  font-size: var(--hf-font-size-emphasis);
}

.hf-site .hf-product-details {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--hf-space-4);
  border-block-start: 1px solid var(--hf-border);
  padding-block-start: var(--hf-space-5);
}

.hf-product-details small,
.hf-product-details strong {
  display: block;
}

.hf-delivery-list {
  list-style: none;
  padding: 0;
}

.hf-delivery-list li {
  padding-block: var(--hf-space-3-5);
  border-block-end: 1px solid var(--hf-border);
}

.hf-delivery-list li::before {
  content: '←';
  margin-inline-end: var(--hf-space-4);
}

.hf-site .hf-pricing-card {
  border: 0;
  border-block-start: 1px solid var(--hf-primary);
  padding: var(--hf-space-8) var(--hf-space-6);
  border-radius: 0;
  background: transparent;
  gap: var(--hf-space-5);
}

.hf-site .hf-pricing-card.featured {
  background: var(--hf-primary-dark);
  border: 1px solid var(--hf-primary-dark);
  color: var(--hf-on-dark);
  margin-block: calc(-1 * var(--hf-featured-offset));
  padding: var(--hf-space-10) var(--hf-space-8);
  border-radius: var(--hf-radius-image);
}

.hf-site .hf-pricing-card.featured p,
.hf-site .hf-pricing-card.featured li {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-pricing-card.featured .hf-eyebrow {
  display: inline-block;
  padding: var(--hf-space-1) var(--hf-space-3);
  border: 1px solid var(--hf-border-on-dark-strong);
  color: var(--hf-on-dark);
}

.hf-pricing-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hf-pricing-card li {
  margin-block-end: var(--hf-space-3);
  font-size: var(--hf-font-size-control);
  position: relative;
  padding-inline-start: var(--hf-space-5);
}

.hf-pricing-card li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: .85em;
  inline-size: var(--hf-space-2);
  border-block-start: 1px solid currentColor;
}

.hf-site .hf-pricing-card .hf-price-note {
  font-size: var(--hf-font-size-body);
}

.hf-site .hf-pricing-card .elementor-widget-button {
  margin-block-start: auto;
}

.hf-price {
  font-size: var(--hf-font-size-emphasis);
  font-weight: var(--hf-weight-label);
}

.hf-site .hf-final-cta {
  position: relative;
  text-align: start;
  overflow: hidden;
}

.hf-site .hf-final-cta .hf-container {
  align-items: start;
  max-inline-size: var(--hf-container);
  position: relative;
}

.hf-site .hf-final-cta h2 {
  font-size: clamp(3.375rem,7vw,6rem);
  line-height: var(--hf-line-display);
  max-inline-size: 15ch;
}

.hf-site .hf-final-cta .hf-lead {
  max-inline-size: 40ch;
}

.hf-site .hf-cta-route {
  position: absolute;
  inline-size: 680px;
  inset-inline-end: -120px;
  inset-block-end: -80px;
  opacity: .13;
  pointer-events: none;
}

/* Program finder: keyboard-friendly progressive enhancement. */
.hf-programs {
  margin-block-start: var(--hf-space-6);
}

.hf-finder-layout {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  gap: var(--hf-space-12);
}

.hf-filter-dimension {
  padding-block: var(--hf-space-6);
  border-block-start: 1px solid var(--hf-border);
}

.hf-site .hf-filter-dimension h3 {
  font-size: var(--hf-font-size-heading-sm);
}

.hf-filters {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--hf-space-2);
}

.hf-filter-dimension--place .hf-filters {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.hf-filter-heading {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--hf-space-3);
  margin-block-end: var(--hf-space-5);
}

.hf-site .hf-filter-heading h3 {
  margin: 0;
}

.hf-site .hf-filters button {
  --hf-control-bg: var(--hf-bone);
  --hf-control-ink: var(--hf-text);
  --hf-control-hover: var(--hf-secondary);
  --hf-control-border: var(--hf-primary);
  min-block-size: var(--hf-filter-height);
  padding: var(--hf-space-3) var(--hf-space-2);
  font-size: var(--hf-font-size-body);
  min-inline-size: 0;
  border-radius: var(--hf-radius-panel);
}

.hf-site .hf-filters button[aria-pressed=true] {
  --hf-control-bg: var(--hf-primary);
  --hf-control-hover: var(--hf-burgundy-800);
  --hf-control-border: var(--hf-primary);
  --hf-control-ink: var(--hf-on-dark);
}

.hf-step-label {
  color: var(--hf-muted);
  font-size: var(--hf-font-size-meta);
  font-weight: var(--hf-weight-medium);
  display: inline-block;
  margin: 0;
  text-align: start;
}

.hf-finder-result {
  padding: var(--hf-space-10);
  border-radius: var(--hf-radius-panel);
  background: var(--hf-primary);
  color: var(--hf-on-dark);
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--hf-space-3);
  min-block-size: 0;
  border-inline-start: 1px solid var(--hf-red-soft);
}

.hf-site .hf-finder-result p {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-finder-result small {
  font-size: var(--hf-font-size-sm);
}

.hf-site .hf-finder-result > .hf-eyebrow {
  color: var(--hf-on-dark-soft);
  padding-block-end: var(--hf-space-6);
  border-block-end: 1px solid var(--hf-border-on-dark-strong);
  margin-block-end: var(--hf-space-5);
}

.hf-site .hf-finder-result h3 {
  font-size: clamp(2rem,3vw,2.75rem);
  max-inline-size: 18ch;
  line-height: var(--hf-line-heading);
}

.hf-site .hf-filter-reset {
  --hf-control-bg: transparent;
  --hf-control-ink: var(--hf-text-soft);
  --hf-control-hover: var(--hf-secondary);
  --hf-control-border: transparent;
  min-block-size: var(--hf-touch-target);
  padding: var(--hf-space-2);
  margin-inline-start: auto;
  font-size: var(--hf-font-size-meta);
  text-decoration: underline;
  text-underline-offset: .3em;
}

.hf-site .hf-finder-result .hf-button {
  font-size: var(--hf-font-size-control);
  margin-block: var(--hf-space-4) var(--hf-space-6);
}

.hf-program-meta {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-space-2);
  padding: 0;
  font-size: var(--hf-font-size-meta);
}

.hf-program-meta li {
  border: 1px solid var(--hf-border);
  padding: var(--hf-space-1) var(--hf-space-2);
  border-radius: var(--hf-radius-image);
}

.hf-program-list {
  margin-block-start: var(--hf-space-8);
}

.hf-program-list .hf-card {
  border: 0;
  border-block-start: 1px solid var(--hf-border);
  border-radius: 0;
  padding: var(--hf-space-6) 0;
  background: transparent;
}

.hf-site .hf-program-list h3 {
  font-size: var(--hf-font-size-title);
}

.hf-filter-status {
  font-size: var(--hf-font-size-meta);
  margin-block-start: var(--hf-space-6);
}

/* Editorial service pages and native posts. */
.hf-site .hf-service-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.hf-site .hf-service-row {
  display: grid;
  grid-template-columns: minmax(0,.5fr) minmax(0,1fr);
  gap: var(--hf-space-3) var(--hf-space-12);
  padding-block: var(--hf-space-8);
  padding-inline: 0;
  border-block-start: 1px solid var(--hf-border);
}

.hf-site .hf-service-row .elementor-widget-heading {
  grid-column: 1;
}

.hf-site .hf-service-row .elementor-widget-text-editor {
  grid-column: 2;
}

.hf-site .hf-service-row .elementor-widget-button {
  grid-column: 2;
}

.hf-site .hf-service-hero {
  border-block-end: 3px solid var(--hf-primary);
}

.hf-post-featured {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap: var(--hf-space-8);
  border: 0;
  background: var(--hf-secondary);
}

.hf-post-featured img {
  inline-size: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: var(--hf-radius-image);
}

.hf-post-copy h2 {
  font-size: 1.75rem;
}

.hf-blog-categories {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-space-3);
  padding-block-end: var(--hf-space-8);
}

.hf-blog-categories a {
  padding: var(--hf-space-2) var(--hf-space-4);
  border: 1px solid var(--hf-border);
  border-radius: var(--hf-radius-control);
  font-size: var(--hf-font-size-sm);
}

.hf-prose {
  max-inline-size: 780px;
}

.hf-prose img {
  border-radius: var(--hf-radius-image);
  margin-block: var(--hf-space-8);
}

.hf-prose p {
  line-height: 2.1;
}

.hf-site .hf-error-code {
  font-size: clamp(5rem,15vw,11.25rem);
  font-weight: var(--hf-weight-display);
  line-height: 1.2;
  color: var(--hf-primary);
}

.hf-error-route {
  max-inline-size: 450px;
  margin-block-start: var(--hf-space-10);
}

/* Oversized brand footer; actual contact/logo data remains shared. */
.hf-footer {
  background: var(--hf-charcoal);
  color: var(--hf-on-dark);
  padding-block: var(--hf-space-20) var(--hf-space-6);
}

.hf-footer>.elementor {
  inline-size: min(var(--hf-container),calc(100% - var(--hf-gutter)*2));
  margin-inline: auto;
}

.hf-site .hf-footer p,
.hf-site .hf-footer .elementor-widget-text-editor {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-footer-brand {
  display: grid;
  grid-template-columns: minmax(0,3fr) minmax(0,1fr);
  align-items: end;
  gap: var(--hf-space-8);
  padding: 0 0 var(--hf-space-12);
  border-block-end: 1px solid var(--hf-border-on-dark);
  margin-block-end: var(--hf-space-12);
}

.hf-site .hf-footer-brand h2 {
  font-size: clamp(4rem,9vw,8.5rem);
  font-weight: var(--hf-weight-display);
  line-height: 1.05;
  letter-spacing: -.05em;
}

.hf-footer-wordmark {
  display: block;
  white-space: nowrap;
  text-align: end;
}

.hf-footer-persian {
  display: block;
  font-size: .32em;
  line-height: 1.7;
  letter-spacing: 0;
}

.hf-site .hf-footer-signoff {
  font-size: 1.625rem;
  line-height: 1.7;
  color: var(--hf-on-dark);
}

.hf-site .hf-footer-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr)) minmax(0,1.3fr);
  gap: var(--hf-space-6);
  padding: 0 0 var(--hf-space-10);
}

.hf-site .hf-footer-column {
  padding: 0;
  gap: var(--hf-space-4);
}

.hf-site .hf-footer-column h3 {
  font-size: var(--hf-font-size-control);
}

.hf-footer-column ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.hf-footer-column li {
  font-size: var(--hf-font-size-control);
  margin-block-end: var(--hf-space-3);
}

.hf-footer .hf-business p {
  font-size: var(--hf-font-size-control);
}

.hf-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--hf-space-5);
  padding-block: var(--hf-space-6);
  border-block-start: 1px solid var(--hf-border-on-dark);
  font-size: var(--hf-font-size-meta);
}

.hf-footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hf-space-4);
}

.hf-post-featured.hf-post-text {
  grid-template-columns: 1fr;
}

.hf-program-directory {
  margin-block-start: var(--hf-space-8);
  border-block-start: 1px solid var(--hf-border);
}

.hf-program-directory summary {
  cursor: pointer;
  padding-block: var(--hf-space-5);
  min-block-size: 48px;
  font-weight: var(--hf-weight-medium);
}

.hf-site .hf-why-editorial {
  --hf-section-padding: var(--hf-section-compact);
  background: var(--hf-background);
  border-block-end: 1px solid var(--hf-border);
}

.hf-site .hf-why-copy,
.hf-site .hf-why-reasons {
  padding: 0;
}

.hf-why-reason {
  border-block-start: 1px solid var(--hf-border);
  padding-block: var(--hf-space-6);
}

.hf-site .hf-why-reason h3 {
  font-size: var(--hf-why-heading);
  line-height: var(--hf-line-ui);
  color: var(--hf-text);
}

/* About has its own editorial story, rather than the homepage's section grid. */
.hf-site .hf-about-intro {
  max-inline-size: var(--hf-container-wide);
}

.hf-site .hf-about-intro h1 {
  max-inline-size: 16ch;
}

.hf-site .hf-about-story {
  display: grid;
  grid-template-columns: minmax(0,5fr) minmax(0,7fr);
  gap: var(--hf-space-18);
  align-items: start;
}

.hf-about-image img {
  inline-size: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: var(--hf-radius-image);
}

.hf-site .hf-about-copy {
  padding: 0;
  gap: var(--hf-space-6);
}

.hf-site .hf-about-copy h2 {
  font-size: 2rem;
  border-block-start: 1px solid var(--hf-border);
  padding-block-start: var(--hf-space-6);
}

.hf-site .hf-about-cta {
  max-inline-size: none;
  padding-inline: var(--hf-gutter);
}

.hf-site .hf-product-interface .hf-interface-label {
  color: var(--hf-primary);
}

.hf-site .hf-section--dark,
.hf-site .hf-dark,
.hf-site .hf-footer,
.hf-site .hf-finder-result,
.hf-site .hf-pricing-card.featured,
.hf-site .hf-goal-tile,
.hf-site .hf-mobile-cta {
  --hf-focus-color: var(--hf-on-dark);
}

/* A quiet introduction alongside the questions; mobile owns its stacked rhythm. */
.hf-site .hf-faq-intro {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: var(--hf-space-4);
}

/* Program sheet: table semantics, editorial rules and sample-only numbers. */
.hf-plan-example {
  border: 1px solid var(--hf-border);
  border-block-start-color: var(--hf-primary);
  padding: var(--hf-space-5) var(--hf-space-3);
  background: var(--hf-surface);
  box-shadow: var(--hf-paper-shadow-offset) var(--hf-paper-shadow-offset) 0 var(--hf-paper-shadow-color);
}

.hf-site .hf-plan-label {
  font-size: var(--hf-font-size-label);
  font-weight: var(--hf-weight-medium);
  color: var(--hf-primary);
}

.hf-plan-example table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: var(--hf-font-size-body);
  text-align: start;
}

.hf-plan-example th,
.hf-plan-example td {
  padding: var(--hf-space-3) var(--hf-space-2);
  border-block-end: 1px solid var(--hf-border);
  vertical-align: top;
}

.hf-plan-example thead th {
  color: var(--hf-primary);
  font-weight: var(--hf-weight-medium);
}

.hf-plan-example tbody th {
  font-weight: var(--hf-weight-normal);
}

.hf-plan-caption {
  caption-side: bottom;
  padding-block-start: var(--hf-space-3);
  color: var(--hf-muted);
  text-align: start;
}

.hf-site .hf-plan-note {
  font-size: var(--hf-font-size-body);
  margin-block-start: var(--hf-space-4);
}

.hf-site .hf-pricing-comparison {
  grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);
  margin-block-start: var(--hf-space-8);
}

.hf-site .hf-footer-contact-link {
  color: var(--hf-on-dark);
  text-decoration: underline;
}

/* Campaign accents follow the existing logo route and the editorial rules. */
.hf-site .hf-hero h1 > .hf-hero-emphasis::after {
  content: '';
  display: block;
  inline-size: 1.6em;
  border-block-end: 3px solid var(--hf-primary);
  margin-block-start: var(--hf-space-4);
}

.hf-campaign-sample {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--hf-space-2);
  border-block-start: 1px solid var(--hf-border);
  padding-block-start: var(--hf-space-3);
  margin-block-start: var(--hf-space-3);
  font-size: var(--hf-font-size-meta);
}

.hf-campaign-sample small,
.hf-campaign-sample strong {
  display: block;
}

.hf-campaign-sample small {
  font-size: inherit;
  color: var(--hf-text-soft);
}

.hf-site .hf-principle > .elementor-widget {
  grid-column: 2;
}

.hf-site .hf-principle > .hf-principle-index {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.hf-principle-number {
  display: block;
  font-size: var(--hf-principle-number);
  font-weight: var(--hf-weight-normal);
  line-height: 1.1;
  color: var(--hf-on-dark-soft);
  direction: ltr;
  text-align: end;
}

.hf-site .hf-pricing-card.featured h3 {
  font-size: var(--hf-featured-heading);
  line-height: var(--hf-line-heading);
}

.hf-week-board strong[lang="en"] {
  direction: ltr;
  text-align: end;
  font-size: var(--hf-font-size-body);
}

/* Inner documents share the campaign vocabulary; no homepage layout overrides. */
.hf-site .hf-inner-page .e-con {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  min-inline-size: 0;
}

.hf-site .hf-inner-hero {
  --hf-section-padding: var(--hf-space-20) var(--hf-space-16);
  border-block-end: 1px solid var(--hf-border);
}

.hf-site .hf-inner-hero h1 {
  font-size: clamp(2.75rem,4.8vw,4.25rem);
  font-weight: var(--hf-weight-display);
  line-height: var(--hf-line-display);
  max-inline-size: 21ch;
  text-wrap: balance;
}

.hf-site .hf-inner-hero--type .hf-lead,
.hf-site .hf-inner-hero--dark .hf-lead {
  max-inline-size: 58ch;
}

.hf-site .hf-inner-hero-grid,
.hf-site .hf-inner-story,
.hf-site .hf-form-spread {
  display: grid;
  grid-template-columns: minmax(0,5fr) minmax(0,7fr);
  gap: var(--hf-space-16);
  align-items: start;
}

.hf-site .hf-inner-hero-grid {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
}

.hf-site .hf-inner-photo img {
  inline-size: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: 50% 15%;
  border-radius: var(--hf-radius-image);
}

.hf-site .hf-inner-hero--image .hf-inner-photo img {
  aspect-ratio: 3/4;
  object-position: 50% 20%;
}

.hf-site .hf-inner-story-note {
  border-block-start: 1px solid var(--hf-primary);
  padding-block-start: var(--hf-space-8);
}

.hf-site .hf-inner-statement h2,
.hf-site .hf-inner-closing h2 {
  font-size: clamp(2.75rem,5vw,4.5rem);
  line-height: var(--hf-line-display);
  max-inline-size: 21ch;
}

.hf-site .hf-inner-closing .hf-primary-cta .elementor-button {
  min-block-size: var(--hf-control-height);
}

.hf-site .hf-service-leads {
  display: grid;
  grid-template-columns: minmax(0,7fr) minmax(0,5fr);
  gap: var(--hf-space-6);
}

.hf-site .hf-service-poster {
  position: relative;
  min-block-size: var(--hf-goal-lead-height);
  isolation: isolate;
  justify-content: end;
  overflow: hidden;
  border-radius: var(--hf-radius-image);
  background: var(--hf-primary-dark);
  color: var(--hf-on-dark);
  padding: var(--hf-space-8);
}

.hf-site .hf-service-poster > .hf-inner-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  inline-size: 100%;
  block-size: 100%;
}

.hf-site .hf-service-poster .elementor-widget-container,
.hf-site .hf-service-poster .hf-inner-photo img {
  block-size: 100%;
}

.hf-site .hf-service-poster::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,transparent 35%,rgba(58,11,18,.92));
}

.hf-site .hf-service-poster-copy {
  max-inline-size: 30ch;
  gap: var(--hf-space-3);
}

.hf-site .hf-service-poster p {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-service-poster .hf-tertiary-cta .elementor-button {
  color: var(--hf-on-dark);
}

.hf-site .hf-feature-rows,
.hf-site .hf-service-directory {
  gap: 0;
}

.hf-site .hf-feature-row {
  display: grid;
  grid-template-columns: minmax(0,.3fr) minmax(0,1fr) minmax(0,1.4fr);
  align-items: baseline;
  gap: var(--hf-space-8);
  border-block-start: 1px solid var(--hf-border);
  padding-block: var(--hf-space-8);
}

.hf-site .hf-feature-row h2,
.hf-site .hf-feature-row h3 {
  font-size: var(--hf-heading-3);
}

.hf-site .hf-row-index {
  color: var(--hf-primary);
  font-size: var(--hf-font-size-heading-sm);
  font-weight: var(--hf-weight-medium);
  direction: ltr;
  text-align: end;
}

.hf-site .hf-service-link-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) auto;
  align-items: center;
  gap: var(--hf-space-8);
  padding-block: var(--hf-space-8);
  border-block-start: 1px solid var(--hf-border);
}

.hf-comparison-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.hf-comparison {
  inline-size: 100%;
  min-inline-size: 620px;
  border-collapse: collapse;
  text-align: start;
  font-size: var(--hf-font-size-body);
}

.hf-comparison th,
.hf-comparison td {
  padding: var(--hf-space-5) var(--hf-space-4);
  border-block-end: 1px solid var(--hf-border);
  vertical-align: top;
}

.hf-comparison thead th {
  color: var(--hf-primary);
}

.hf-comparison caption {
  text-align: start;
  padding-block-end: var(--hf-space-6);
  color: var(--hf-text-soft);
}

.hf-site .hf-form-aside,
.hf-site .hf-contact-details {
  gap: var(--hf-space-6);
  padding: 0;
}

.hf-site .hf-form-content {
  background: var(--hf-bone);
  border-block-start: 3px solid var(--hf-primary);
  padding: var(--hf-space-8);
}

.hf-site .hf-form-content .hf-form {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

.hf-site .hf-faq-category {
  --hf-section-padding: var(--hf-space-12);
}

.hf-site .hf-legal-body {
  max-inline-size: 740px;
  margin-inline: auto;
  gap: var(--hf-space-12);
}

.hf-site .hf-legal-clause {
  gap: var(--hf-space-4);
  border-block-start: 1px solid var(--hf-border);
  padding-block-start: var(--hf-space-6);
}

.hf-site .hf-legal-clause h2 {
  font-size: var(--hf-heading-3);
}

.hf-site .hf-post-list {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
}

.hf-post-row {
  display: grid;
  grid-template-columns: minmax(0,3fr) minmax(0,7fr);
  gap: var(--hf-space-10);
  padding-block: var(--hf-space-10);
  border-block-start: 1px solid var(--hf-border);
  align-items: center;
}

.hf-post-row--featured {
  grid-template-columns: minmax(0,7fr) minmax(0,5fr);
  background: var(--hf-secondary);
  border: 0;
  padding: var(--hf-space-8);
  margin-block-end: var(--hf-space-10);
}

.hf-post-row--text {
  grid-template-columns: minmax(0,1fr);
}

.hf-post-row img {
  inline-size: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--hf-radius-image);
}

.hf-site .hf-post-row h2 {
  font-size: clamp(1.625rem,2.7vw,2.5rem);
}

.hf-post-meta {
  color: var(--hf-text-soft);
  font-size: var(--hf-font-size-meta);
}

.hf-article-header h1 {
  max-inline-size: 24ch;
  font-size: var(--hf-heading-1);
  text-wrap: balance;
}

.hf-article-photo img {
  inline-size: 100%;
  max-block-size: 720px;
  object-fit: cover;
  border-radius: var(--hf-radius-image);
}

.hf-article-body {
  max-inline-size: 740px;
  margin-inline: auto;
  padding-block: var(--hf-space-16);
  font-size: var(--hf-font-size-lead);
  line-height: 2;
  overflow-wrap: anywhere;
}

.hf-article-body > * + * {
  margin-block-start: var(--hf-space-6);
}

.hf-article-body h2,
.hf-article-body h3 {
  margin-block: var(--hf-space-12) var(--hf-space-5);
}

.hf-article-body h2 {
  font-size: var(--hf-heading-3);
}

.hf-related-list {
  list-style: none;
  padding: 0;
}

.hf-related-list li {
  padding-block: var(--hf-space-5);
  border-block-start: 1px solid var(--hf-border);
  font-size: var(--hf-font-size-heading-sm);
}

.hf-search-empty {
  padding-block: var(--hf-space-16);
  border-block-start: 1px solid var(--hf-border);
}

.hf-site .hf-search-hero,
.hf-site .hf-error-hero {
  background: var(--hf-secondary);
  overflow: hidden;
  position: relative;
}

.hf-error-hero .hf-actions {
  position: relative;
  z-index: 1;
}

/* Existing legal wording keeps its widgets; only its reading frame changes. */
.hf-site .hf-legal-preserved .hf-container {
  max-inline-size: 740px;
  gap: var(--hf-space-10);
}

.hf-site .hf-legal-preserved .e-con {
  background: transparent;
  border: 0;
}

.hf-site .hf-legal-preserved h1 {
  font-size: var(--hf-heading-2);
}

.hf-site .hf-legal-preserved h2 {
  font-size: var(--hf-heading-3);
}

.hf-site .hf-native-page > h1 {
  font-size: var(--hf-heading-1);
  max-inline-size: 24ch;
  text-wrap: balance;
}

.hf-site .hf-article-next {
  padding-block: var(--hf-space-10);
  border-block-start: 1px solid var(--hf-primary);
}

.hf-site .hf-text-link {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--hf-touch-target);
  color: var(--hf-primary);
  font-weight: var(--hf-weight-medium);
  text-decoration: underline;
  text-underline-offset: .3em;
}

.hf-site .hf-native-page > p,
.hf-site .hf-native-page > ul,
.hf-site .hf-native-page > ol {
  max-inline-size: 740px;
}
