/* Yarchi Elements – AURA warm architectural tokens (from approved index.html) */
:root {
  --yarchi-bg: #e9e3da;
  --yarchi-bg-secondary: #ded4c8;
  --yarchi-surface: #f3eee6;
  --yarchi-surface-elevated: #faf7f2;

  --yarchi-text: #2b251f;
  --yarchi-text-strong: #1e1a16;
  --yarchi-text-muted: #6b6259;
  --yarchi-text-soft: #8b8177;

  --yarchi-accent: #8d6751;
  --yarchi-accent-hover: #74513f;
  --yarchi-accent-soft: #d9c6b9;
  --yarchi-accent-dark: #74513f;

  --yarchi-border: #d5c9bd;
  --yarchi-border-strong: #bcae9f;

  --yarchi-dark: #292c28;
  --yarchi-dark-soft: #353934;

  --yarchi-light: #f8f4ee;
  --yarchi-white: #fffdf9;

  --yarchi-shadow: 0 18px 48px rgba(53, 39, 29, 0.10);
  --yarchi-shadow-soft: 0 12px 34px rgba(53, 39, 29, 0.065);

  --yarchi-font-heading: "Playfair Display", Georgia, "Times New Roman", serif;
  --yarchi-font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.elementor-widget-yarchi-header,
.elementor-widget-yarchi-hero,
.elementor-widget-yarchi-studio,
.elementor-widget-yarchi-projects,
.elementor-widget-yarchi-services,
.elementor-widget-yarchi-process,
.elementor-widget-yarchi-instagram,
.elementor-widget-yarchi-reviews,
.elementor-widget-yarchi-contact,
.elementor-widget-yarchi-footer {
  --page-bg: var(--yarchi-bg);
  --surface: var(--yarchi-surface);
  --surface-soft: var(--yarchi-bg-secondary);
  --surface-muted: var(--yarchi-bg-secondary);
  --text: var(--yarchi-text);
  --text-soft: var(--yarchi-text-muted);
  --text-faint: var(--yarchi-text-soft);
  --dark: var(--yarchi-dark);
  --dark-soft: var(--yarchi-dark-soft);
  --light: var(--yarchi-light);
  --accent: var(--yarchi-accent);
  --accent-soft: var(--yarchi-accent-soft);
  --accent-deep: var(--yarchi-accent-dark);
  --border: color-mix(in srgb, var(--yarchi-border) 85%, transparent);
  --border-light: rgba(255, 253, 249, 0.52);
  --shadow-soft: var(--yarchi-shadow-soft);
  --shadow-float: var(--yarchi-shadow);
  --radius-small: 12px;
  --radius-medium: 20px;
  --radius-large: 28px;
  --yarchi-content: 1280px;
  --yarchi-gutter: clamp(24px, 4vw, 64px);
  --yarchi-section-y: clamp(54px, 6vw, 88px);
  --yarchi-section-y-small: clamp(36px, 4vw, 58px);
  --yarchi-gap: clamp(18px, 2.2vw, 30px);
  --content-width: var(--yarchi-content);
  --page-gutter: var(--yarchi-gutter);
  --section-space: var(--yarchi-section-y);
  --section-space-small: var(--yarchi-section-y-small);
  --section-space-compact: var(--yarchi-section-y-small);
  --grid-gap: var(--yarchi-gap);
  --content-gap: var(--yarchi-gap);
  --ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --font-sans: var(--yarchi-font-body);
  --font-heading: var(--yarchi-font-heading);
  --font: var(--yarchi-font-body);
  --yarchi-font: var(--yarchi-font-body);
  --header-h: 82px;
  --yarchi-header-space: 96px;

  font-family: var(--yarchi-font-body);
  color: var(--yarchi-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elementor-widget-yarchi-header .elementor-widget-container,
.elementor-widget-yarchi-hero .elementor-widget-container,
.elementor-widget-yarchi-studio .elementor-widget-container,
.elementor-widget-yarchi-projects .elementor-widget-container,
.elementor-widget-yarchi-services .elementor-widget-container,
.elementor-widget-yarchi-process .elementor-widget-container,
.elementor-widget-yarchi-instagram .elementor-widget-container,
.elementor-widget-yarchi-reviews .elementor-widget-container,
.elementor-widget-yarchi-contact .elementor-widget-container,
.elementor-widget-yarchi-footer .elementor-widget-container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.elementor-widget-yarchi-header *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-hero *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-studio *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-projects *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-services *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-process *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-instagram *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-reviews *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-contact *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon),
.elementor-widget-yarchi-footer *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon) {
  font-family: var(--yarchi-font-body);
}

.elementor-widget-yarchi-hero .yarchi-hero-title,
.elementor-widget-yarchi-studio .yarchi-section-title,
.elementor-widget-yarchi-studio .yarchi-studio-title,
.elementor-widget-yarchi-studio .stat-card strong,
.elementor-widget-yarchi-projects .yarchi-section-title,
.elementor-widget-yarchi-projects .project-title,
.elementor-widget-yarchi-projects .heading-project,
.elementor-widget-yarchi-services .yarchi-section-title,
.elementor-widget-yarchi-services .service-row__title,
.elementor-widget-yarchi-process .yarchi-section-title,
.elementor-widget-yarchi-process .yarchi-approach-title,
.elementor-widget-yarchi-process .process-title,
.elementor-widget-yarchi-instagram .yarchi-section-title,
.elementor-widget-yarchi-reviews .yarchi-section-title,
.elementor-widget-yarchi-reviews .yarchi-review-card blockquote,
.elementor-widget-yarchi-contact .yarchi-section-title,
.elementor-widget-yarchi-contact .contact__title,
.elementor-widget-yarchi-footer .footer-cta__title,
.elementor-widget-yarchi-footer .yarchi-section-title,
.elementor-widget-yarchi-footer h2 {
  font-family: var(--yarchi-font-heading) !important;
  font-weight: 500;
  letter-spacing: -0.035em;
}

    .yarchi-root a {
      color: inherit;
      text-decoration: none;
    }

    .yarchi-root img,
    .yarchi-root video {
      display: block;
      max-width: 100%;
    }

    .yarchi-root figure {
      margin: 0;
    }

    .yarchi-root svg {
      max-width: 100%;
    }

    .yarchi-root button,
    .yarchi-root input,
    .yarchi-root select,
    .yarchi-root textarea {
      font: inherit;
    }

    .yarchi-main {
      display: block;
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
    }

    .yarchi-shell {
      width: min(
        calc(100% - (var(--yarchi-gutter) * 2)),
        var(--yarchi-content)
      );
      max-width: var(--yarchi-content);
      margin-inline: auto;
      padding: 0;
      box-sizing: border-box;
    }

    .yarchi-section {
      position: relative;
      width: 100%;
      max-width: none;
      margin: 0;
      padding-block: var(--yarchi-section-y);
      padding-inline: 0;
      box-sizing: border-box;
    }

    .yarchi-section--compact {
      padding-block: var(--yarchi-section-y-small);
    }

    .yarchi-section > .yarchi-shell {
      min-width: 0;
    }

    .yarchi-section-label,
    .label {
      margin-bottom: 16px;
      font-size: 11px;
      line-height: 1.2;
      letter-spacing: 0.10em;
      text-transform: uppercase;
      font-weight: 650;
      color: var(--text-faint);
    }

    .yarchi-section-title,
    .heading-section,
    .section-title {
      max-width: 680px;
      margin: 0;
      font-size: clamp(34px, 3.7vw, 56px);
      line-height: 1;
      letter-spacing: -0.045em;
      font-weight: 600;
    }

    .yarchi-section-copy,
    .body-text {
      max-width: 520px;
      font-size: clamp(15px, 1vw, 18px);
      line-height: 1.55;
      font-weight: 400;
      letter-spacing: -0.01em;
      color: var(--text-soft);
      margin: 0;
    }

    .heading-project,
    .project-title {
      font-size: clamp(24px, 2.4vw, 36px);
      line-height: 1.05;
      letter-spacing: -0.03em;
      font-weight: 600;
      margin: 0;
    }

    .heading-sub,
    .section-subtitle {
      max-width: 560px;
      font-size: clamp(16px, 1.3vw, 20px);
      line-height: 1.42;
      font-weight: 550;
      letter-spacing: -0.03em;
      margin: 0;
    }

    .section-head {
      margin-bottom: clamp(28px, 4vw, 48px);
    }

    .media-frame {
      position: relative;
      background: var(--yarchi-bg-secondary);
      overflow: hidden;
    }

    .media-frame.is-image-error {
      background: var(--yarchi-border);
    }

    .yarchi-root.js-ready .media-frame img:not(.is-loaded),
    .yarchi-root.js-ready .hero__float img:not(.is-loaded) {
      opacity: 0;
      filter: blur(8px);
      transform: scale(1.02);
    }

    .media-frame img,
    .hero__slide img,
    .hero__float img {
      transition:
        opacity 0.7s var(--ease-soft),
        filter 0.7s var(--ease-soft),
        transform 0.7s var(--ease-soft);
    }

    .media-frame img.is-loaded,
    .hero__slide img.is-loaded,
    .hero__float img.is-loaded,
    .hero__slide.is-active img,
    .yarchi-root.is-reduced .media-frame img,
    .yarchi-root.is-reduced .hero__slide img,
    .yarchi-root.is-reduced .hero__float img {
      opacity: 1;
      filter: blur(0);
      transform: scale(1);
    }

    .btn,
    .yarchi-button--dark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: fit-content;
      min-height: 46px;
      padding: 12px 18px;
      border-radius: 999px;
      border: 1px solid var(--yarchi-dark);
      background: var(--yarchi-dark);
      color: var(--yarchi-light);
      font-size: 12px;
      font-weight: 650;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      cursor: pointer;
      transition:
        background 0.35s var(--ease-soft),
        color 0.35s var(--ease-soft),
        border-color 0.35s var(--ease-soft),
        transform 0.35s var(--ease-soft),
        box-shadow 0.35s var(--ease-soft);
    }

    .yarchi-root a.btn,
    .yarchi-root a.yarchi-button--dark,
    .yarchi-root button.btn,
    .yarchi-root button.yarchi-button--dark,
    .yarchi-button--dark,
    .yarchi-button--dark span,
    .yarchi-button--dark svg,
    .yarchi-button--dark path,
    .btn span,
    .btn svg,
    .btn path {
      color: var(--yarchi-light);
    }

    .yarchi-button--dark svg,
    .btn svg {
      stroke: currentColor;
      fill: none;
    }

    .yarchi-root a.btn:hover,
    .yarchi-root a.yarchi-button--dark:hover,
    .yarchi-root button.btn:hover,
    .yarchi-root button.yarchi-button--dark:hover,
    .btn:hover,
    .yarchi-button--dark:hover {
      background: var(--yarchi-dark-soft);
      color: var(--yarchi-white);
      border-color: var(--yarchi-dark-soft);
      transform: translateY(-2px);
      box-shadow: var(--shadow-float);
    }

    .yarchi-root a.btn:hover,
    .yarchi-root a.yarchi-button--dark:hover,
    .btn:hover span,
    .yarchi-button--dark:hover span {
      color: var(--yarchi-white);
    }

    .btn:focus-visible,
    .yarchi-button--dark:focus-visible {
      outline: 3px solid rgba(141, 103, 81, 0.45);
      outline-offset: 3px;
    }

    .btn-ghost {
      background: transparent;
      color: var(--text);
      border-color: var(--border);
    }

    .yarchi-root a.btn-ghost,
    .btn-ghost span {
      color: var(--text);
    }

    .btn-ghost:hover {
      background: rgba(255, 255, 255, 0.55);
    }

    .yarchi-root a.btn-light,
    .btn-light {
      background: var(--yarchi-surface-elevated);
      border-color: var(--yarchi-surface-elevated);
      color: var(--yarchi-text-strong);
    }

    .yarchi-root a.btn-light:hover,
    .btn-light:hover {
      background: var(--yarchi-white);
      border-color: var(--yarchi-white);
      color: var(--yarchi-text-strong);
      transform: translateY(-2px);
    }

    
.elementor-widget-yarchi-header *,
.elementor-widget-yarchi-hero *,
.elementor-widget-yarchi-studio *,
.elementor-widget-yarchi-projects *,
.elementor-widget-yarchi-services *,
.elementor-widget-yarchi-process *,
.elementor-widget-yarchi-instagram *,
.elementor-widget-yarchi-reviews *,
.elementor-widget-yarchi-contact *,
.elementor-widget-yarchi-footer *,
.elementor-widget-yarchi-header *::before,
.elementor-widget-yarchi-hero *::before,
.elementor-widget-yarchi-studio *::before,
.elementor-widget-yarchi-projects *::before,
.elementor-widget-yarchi-services *::before,
.elementor-widget-yarchi-process *::before,
.elementor-widget-yarchi-instagram *::before,
.elementor-widget-yarchi-reviews *::before,
.elementor-widget-yarchi-contact *::before,
.elementor-widget-yarchi-footer *::before,
.elementor-widget-yarchi-header *::after,
.elementor-widget-yarchi-hero *::after,
.elementor-widget-yarchi-studio *::after,
.elementor-widget-yarchi-projects *::after,
.elementor-widget-yarchi-services *::after,
.elementor-widget-yarchi-process *::after,
.elementor-widget-yarchi-instagram *::after,
.elementor-widget-yarchi-reviews *::after,
.elementor-widget-yarchi-contact *::after,
.elementor-widget-yarchi-footer *::after {
  box-sizing: border-box;
}

/* ========== PAGE INTRO ========== */
    .page-intro {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--page-bg);
      transition: opacity 0.7s var(--ease-soft), visibility 0.7s;
    }

    .page-intro.is-done {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .page-intro__mark {
      font-size: 13px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-weight: 600;
      color: var(--text);
      opacity: 0;
      transform: translateY(12px);
      animation: introIn 0.8s var(--ease-soft) 0.15s forwards;
    }

    @keyframes introIn {
      to { opacity: 1; transform: translateY(0); }
    }

    