/* Phase 7C code-reduction candidate 1.1.29. Exact retained safeguards/exceptions only. */
:root {
  /* Brand palette — from ../assets/templates/tokens.json (sampled from the official banner) */
  --rose: #a1646b;        /* signature dusty rose — logo rose + tagline */
  --rose-deep: #834e55;   /* darker rose for links, hover, small text */
  --blush: #fce4e2;       /* soft pink — logo background */
  --petal: #f3ccce;       /* mid pink — cards, section bands */
  --ink: #312926;         /* charcoal — logo wordmark; text + primary CTA */
  --sage: #9caf98;        /* muted sage — sparing accent */
  --gold: #c8a15e;        /* antique gold — sparing accent */
  --cream: #fbf4f1;       /* warm pink-white — page background */
  --taupe: #7a6b67;       /* rosy taupe — secondary text */
  --stone: #b4a5a2;       /* rosy grey — muted labels */
  --mist: #ecdedb;        /* pink-grey — borders */
  --white: #ffffff;

  /* Back-compat aliases (legacy class names in this file map to the new palette) */
  --terracotta: var(--rose);
  --terracotta-deep: var(--rose-deep);
  --espresso: var(--ink);
  --honey: var(--gold);

  /* Type — Mrs Eaves (Adobe Fonts) display + Nunito Sans body per brand-system/03-typography.md */
  --font-display: "mrs-eaves", "Baskervville", Georgia, serif;
  --font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Radii — playfully elegant / heirloom (per 04-shape-texture-iconography.md) */
  --r-btn: 2px;
  --r-card: 3px;
  --r-lg: 4px;

  /* Spacing base unit = 4px */
  --border-hairline: 1px solid var(--mist);
  --maxw: 1140px;
  --announce-h: 38px;
  --nav-h: 72px;
  --top-chrome: calc(var(--announce-h) + var(--nav-h));
}

/* ---------- Reset / base ---------- */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  font-family: var(--font-body);
  color: var(--espresso);
  background: var(--cream);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--terracotta-deep); text-decoration: none; }
a:hover { text-decoration: underline; }
body:not(.elementor-page-36) p,
.elementor-38 p,
.elementor-39 p,
.elementor-42 p{ color: var(--espresso); }
html,body{overflow-x:clip}
#content:focus{outline:none}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.gc-page .gc-size-field[hidden]{display:none!important}
.gc-page .elementor-field-type-hidden{display:none!important}
/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
/* ---------- Native Elementor editor + widget usability (1.1.5) ---------- */
/* Reveal effects are frontend decoration, never an editor visibility rule. */
body.elementor-editor-active .reveal,
body.elementor-editor-preview .reveal,
.elementor-editor-active .reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
/* Graceful Creation Phase 1 candidate — documented unsupported exceptions only.
   Routine header/footer layout and styling are owned by Elementor JSON. */
.gc-header-backdrop {
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  backdrop-filter: saturate(1.2) blur(10px);
}
body.admin-bar .gc-header-backdrop.elementor-sticky--active { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar .gc-header-backdrop.elementor-sticky--active { top: 46px !important; }
}

/* Graceful Creation Phase 2 documented exact-ID exceptions. No generic hero classes. */
/* 1. Transparent cutout shadow/rotation: native rectangular shadow cannot follow alpha. */
.elementor-36 .elementor-element.elementor-element-1b3940e9 img,
.elementor-36 .elementor-element.elementor-element-ed6228e8 img,
.elementor-36 .elementor-element.elementor-element-2f6b2fb3 img {
  filter: drop-shadow(0 10px 18px rgba(49,41,38,.14)) drop-shadow(0 22px 34px rgba(49,41,38,.10));
}
.elementor-36 .elementor-element.elementor-element-ed6228e8 img { transform: rotate(-2deg); }
.elementor-36 .elementor-element.elementor-element-2f6b2fb3 img { transform: rotate(2deg); }

/* 2. Kit 6 cannot express these local 940/520 cutovers without global changes. */
@media (max-width: 940px) {
  body.elementor-page-36 .elementor-36 .elementor-element-fb4b75b3 > .e-con-inner { --flex-direction: column-reverse; flex-direction: column-reverse; --gap: 32px 32px; gap: 32px; }
  body.elementor-page-36 .elementor-36 .elementor-element-fb4b75b3 > .e-con-inner > .elementor-element-85460aa8,
  body.elementor-page-36 .elementor-36 .elementor-element-fb4b75b3 > .e-con-inner > .elementor-element-3e47ab16 { --width: 100%; width: 100%; max-width: 100%; }
  body.elementor-page-36 .elementor-36 .elementor-element-fb4b75b3 > .e-con-inner > .elementor-element-3e47ab16 { min-height: clamp(300px, 82vw, 420px); }
}
@media (max-width: 520px) {
  body.elementor-page-36 .elementor-36 .elementor-element-85460aa8 > .elementor-element-d0dc1155 { --flex-direction: column; flex-direction: column; --align-items: stretch; align-items: stretch; }
  body.elementor-page-36 .elementor-36 .elementor-element-85460aa8 > .elementor-element-d0dc1155 > .elementor-element-d04957ba,
  body.elementor-page-36 .elementor-36 .elementor-element-85460aa8 > .elementor-element-d0dc1155 > .elementor-element-f3b443c4 { --width: 100%; width: 100%; max-width: 100%; }
  body.elementor-page-36 .elementor-36 .elementor-element-85460aa8 > .elementor-element-d0dc1155 > .elementor-element-d04957ba > a.elementor-button,
  body.elementor-page-36 .elementor-36 .elementor-element-85460aa8 > .elementor-element-d0dc1155 > .elementor-element-f3b443c4 > a.elementor-button { width: 100%; }
}

/* 3. Installed Icon List has no text typography control; native parent owns layout. */
.elementor-36 .elementor-element.elementor-element-gc2t0001 .elementor-icon-list-text,
.elementor-36 .elementor-element.elementor-element-gc2t0002 .elementor-icon-list-text,
.elementor-36 .elementor-element.elementor-element-gc2t0003 .elementor-icon-list-text {
  font-family: "Nunito Sans", sans-serif; font-size: 15px; font-weight: 600; line-height: 1.4;
}

/* Graceful Creation Phase 3: only unsupported local grid cutovers.
   Routine Difference/Process layout and presentation are native Elementor controls. */
@media (max-width: 940px) {
  body.elementor-page-36 .elementor-36 .elementor-element-5b653726 .elementor-element-d77fdbf3 { --e-con-grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  body.elementor-page-36 .elementor-36 .elementor-element-b0216b6a .elementor-element-4b6f9867 { --e-con-grid-template-columns: repeat(1, 1fr); }
}
@media (max-width: 520px) {
  body.elementor-page-36 .elementor-36 .elementor-element-5b653726 .elementor-element-d77fdbf3 { --e-con-grid-template-columns: repeat(1, 1fr); }
}

/* Graceful Creation Phase 4 documented Image Carousel geometry exception only.
   Elementor 4.1.4 exposes no native fixed image height/object-fit/object-position/shadow controls. */
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-1566511b img,
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-91a67e8e img,
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-1ea74c8c img {
  height: 280px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 14px 20px rgba(59,46,42,.18));
}

/* Phase 5 behavior-only exceptions: exact widget/container IDs. Routine form/layout/style is native. */
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-5608881c .elementor-field-group-size{display:none!important}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-5608881c .elementor-field-group-size.gc-is-visible{display:flex!important}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-a6e2a5fc{display:none!important}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-a6e2a5fc.gc-is-visible{display:block!important}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-f662dfc9{display:none!important}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-f662dfc9.gc-is-open{display:flex!important}
body.elementor-editor-active .elementor-36 .elementor-element.elementor-element-5608881c .elementor-field-group-size,
body.elementor-editor-active .elementor-36 .elementor-element.elementor-element-a6e2a5fc,
body.elementor-editor-active .elementor-36 .elementor-element.elementor-element-f662dfc9{display:flex!important;opacity:1!important;visibility:visible!important}

/* Phase 6 narrow exceptions: unsupported exact breakpoints, square media, line clamp, card-end stats, FAQ per-side separator, and Text Editor link styling. Routine ownership remains native. */
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-4d10970e .elementor-accordion-item{border-bottom:1px solid #ECDEDB!important}
body.elementor-page-36 .elementor-36 :is(.elementor-element-6c81dbbf,.elementor-element-05587890,.elementor-element-78ab3a9e,.elementor-element-ae733a8f){position:relative;height:0!important;padding-top:100%;overflow:hidden;flex:none!important}
body.elementor-page-36 .elementor-36 :is(.elementor-element-6c81dbbf,.elementor-element-05587890,.elementor-element-78ab3a9e,.elementor-element-ae733a8f) img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
body.elementor-page-36 .elementor-36 :is(.elementor-element-a24b500a,.elementor-element-b7ac7351,.elementor-element-6da3f6fd,.elementor-element-06064f2b) .elementor-widget-container{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
body.elementor-page-36 .elementor-36 :is(.elementor-element-6c6a0001,.elementor-element-6c6a0002,.elementor-element-6c6a0003,.elementor-element-6c6a0004){margin-top:auto}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-5a162d9c a{color:#FBF4F1;text-decoration:underline;font-weight:700}
@media (min-width:941px) and (max-width:1024px){
 body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-75ac7f41{flex-direction:row;align-items:center;justify-content:space-between}
 body.elementor-page-36 .elementor-36 :is(.elementor-element-1e6b386c,.elementor-element-9f309379,.elementor-element-f43e737a,.elementor-element-2a2d762c){width:23%}
}
@media (min-width:721px) and (max-width:767px){
 body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-7461c3e2>.e-con-inner{flex-direction:row;gap:44px}
 body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-6c6f0000{width:calc(100% - 264px)}
 body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-07c3021c{flex-direction:row}
 body.elementor-page-36 .elementor-36 :is(.elementor-element-edc28b1a,.elementor-element-10b2ef7f,.elementor-element-921ffd83){width:33.333%}
}
@media (min-width:521px) and (max-width:767px){body.elementor-page-36 .elementor-36 :is(.elementor-element-1e6b386c,.elementor-element-9f309379,.elementor-element-f43e737a,.elementor-element-2a2d762c){width:47.5%}}

/* Phase 7B Display fallback: late, Kit-scoped custom-property override only. */
body.elementor-kit-6{--e-global-typography-primary-font-family:"mrs-eaves","Baskervville",Georgia,serif}
body.elementor-page-36 .elementor-36 .elementor-element.elementor-element-gc2p0001 .elementor-heading-title{font-family:"mrs-eaves","Baskervville",Georgia,serif;font-style:italic;font-weight:400}
