/*
  Quiet-luxury editorial: Log in, Enrol (trial page + enrolment modal), Contact, account utility pages.
  Loads after editorial.css and the legacy sheets. Presentation only.
  The modal rules at the end are self-contained so this file can be linked globally from base.html.
*/
:root {
  --ef-ivory: #fcf9f5; --ef-ivory-2: #f7efe9; --ef-blush: #f1e2de; --ef-plum: #2b0f1a; --ef-plum-deep: #1a0a10;
  --ef-ox: #9b3d56; --ef-ox-2: #7d2f45; --ef-taupe: #6f5b4c; --ef-ink: #2b0f1a; --ef-soft: #5b4650;
  --ef-rule: rgba(155, 61, 86, .18); --ef-on-dark: #f6ece6; --ef-on-dark-soft: rgba(246, 236, 230, .78);
  --ef-display: 'Cormorant Garamond', 'Cormorant', Georgia, serif; --ef-sans: 'Inter', system-ui, sans-serif;
  --ef-shadow: 0 2px 4px rgba(43, 15, 26, .05), 0 22px 48px rgba(43, 15, 26, .10);
  --ef-nav: var(--ed-nav-h, 72px);
}
body:not(.admin-figma-portal) :where(.lg-page, .bt-page, .pv-contact-page, .bt-body) { font-family: var(--ef-sans); color: var(--ef-ink); }

/* ================= LOG IN ================= */
body:not(.admin-figma-portal) .lg-page { height: auto; min-height: calc(100vh - var(--ef-nav)); overflow: visible; background: var(--ef-ivory); display: block; }
body:not(.admin-figma-portal) .lg-split {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); height: auto; min-height: calc(100vh - var(--ef-nav)); overflow: visible; align-items: stretch;
}
body:not(.admin-figma-portal) .lg-split__img-col { position: relative; min-height: 520px; background: var(--ef-plum-deep); isolation: isolate; }
body:not(.admin-figma-portal) .lg-split__img-col img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; opacity: 1; filter: saturate(.85) sepia(.12); }
body:not(.admin-figma-portal) .lg-split__overlay {
  background: linear-gradient(180deg, rgba(43, 15, 26, .25) 0%, rgba(43, 15, 26, .35) 40%, rgba(26, 10, 22, .92) 100%),
    radial-gradient(circle at 20% 90%, rgba(222, 140, 160, .3), transparent 55%);
}
body:not(.admin-figma-portal) .lg-split__img-col::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-image: radial-gradient(rgba(246, 236, 230, .13) .8px, transparent 1px); background-size: 18px 18px; opacity: .6; }
body:not(.admin-figma-portal) .lg-split__brand { z-index: 2; left: clamp(28px, 5vw, 72px); right: clamp(28px, 5vw, 72px); bottom: clamp(40px, 7vh, 88px); padding-top: 28px; border-top: 1px solid rgba(246, 236, 230, .3); }
body:not(.admin-figma-portal) .lg-split__quote { font: italic 400 clamp(1.7rem, 2.8vw, 2.6rem)/1.2 var(--ef-display); color: var(--ef-on-dark); max-width: 24ch; }
body:not(.admin-figma-portal) .lg-form-col {
  position: relative; justify-content: center; align-items: center; overflow: visible; padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 64px);
  background: radial-gradient(circle at 85% 8%, rgba(241, 226, 222, .9), transparent 45%), var(--ef-ivory);
}
body:not(.admin-figma-portal) .lg-form-wrap {
  max-width: 520px; padding: clamp(28px, 4vw, 52px); background: #fffdfa; border: 1px solid var(--ef-rule); border-radius: 24px; box-shadow: var(--ef-shadow);
}
body:not(.admin-figma-portal) .lg-title { margin: 0 0 28px; font: 500 clamp(2.4rem, 4vw, 3.4rem)/1.02 var(--ef-display); color: var(--ef-ink); letter-spacing: -.01em; }
body:not(.admin-figma-portal) .lg-title::before { content: ""; display: block; width: 56px; height: 1px; margin-bottom: 22px; background: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-title em { font-style: italic; font-weight: 400; color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-form { gap: 18px; }
body:not(.admin-figma-portal) .lg-field { gap: 8px; }
body:not(.admin-figma-portal) .lg-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body:not(.admin-figma-portal) .lg-label { color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-input { background: var(--ef-ivory); }
body:not(.admin-figma-portal) .lg-form__section-label { font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ef-ox); padding-bottom: 10px; border-bottom: 1px solid var(--ef-rule); }
body:not(.admin-figma-portal) .lg-submit {
  display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 0 28px; border: 1px solid var(--ef-ox); border-radius: 999px;
  background: var(--ef-ox); color: var(--ef-on-dark); font: 500 .75rem/1 var(--ef-sans); letter-spacing: .16em; text-transform: uppercase; cursor: pointer;
  box-shadow: 0 10px 26px -10px rgba(155, 61, 86, .6); transition: background .25s, box-shadow .25s, transform .25s;
}
body:not(.admin-figma-portal) .lg-submit:hover { background: var(--ef-ox-2); border-color: var(--ef-ox-2); transform: translateY(-1px); }
body:not(.admin-figma-portal) .lg-submit:disabled { opacity: .65; cursor: wait; transform: none; }
body:not(.admin-figma-portal) .lg-link, body:not(.admin-figma-portal) .lg-link--accent {
  padding: 0 0 3px; border: 0; border-bottom: 1px solid var(--ef-rule); border-radius: 0; background: none; cursor: pointer;
  color: var(--ef-ox); font: 500 .75rem/1.3 var(--ef-sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; transition: border-color .2s, color .2s;
}
body:not(.admin-figma-portal) .lg-link:hover, body:not(.admin-figma-portal) .lg-link--accent:hover { color: var(--ef-ox-2); border-bottom-color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-back-link { margin: 18px 0 0; color: var(--ef-soft); font-size: .875rem; }
body:not(.admin-figma-portal) .lg-divider { margin: 28px 0 22px; color: var(--ef-taupe); font: 500 .6875rem var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
body:not(.admin-figma-portal) .lg-divider::before, body:not(.admin-figma-portal) .lg-divider::after { background: var(--ef-rule); }
body:not(.admin-figma-portal) .lg-new-account { display: grid; gap: 16px; padding: 22px; border-radius: 16px; background: var(--ef-ivory-2); border: 1px solid var(--ef-rule); text-align: left; }
body:not(.admin-figma-portal) .lg-new-account__text { margin: 0; color: var(--ef-soft); font-size: .875rem; line-height: 1.6; }
body:not(.admin-figma-portal) .lg-register-btn {
  justify-self: start; min-height: 46px; padding: 0 24px; border: 1px solid var(--ef-ox); border-radius: 999px; background: transparent; color: var(--ef-ox);
  font: 500 .75rem/1 var(--ef-sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s;
}
body:not(.admin-figma-portal) .lg-register-btn:hover { background: var(--ef-ox); color: var(--ef-on-dark); border-color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-consent { color: var(--ef-soft); }
body:not(.admin-figma-portal) .lg-consent input { accent-color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-consent a { color: var(--ef-ox); }
body:not(.admin-figma-portal) .lg-error { padding: 10px 14px; border-radius: 10px; background: rgba(138, 36, 51, .08); color: #8a2433; }
body:not(.admin-figma-portal) .lg-error[hidden] { display: none; }
body:not(.admin-figma-portal) #forgot-success { background: rgba(155, 61, 86, .07); color: var(--ef-ink) !important; }
@media (max-width: 860px) {
  body:not(.admin-figma-portal) .lg-split { grid-template-columns: 1fr; min-height: 0; }
  body:not(.admin-figma-portal) .lg-split__img-col { min-height: 260px; max-height: 300px; }
  body:not(.admin-figma-portal) .lg-split__brand { bottom: 24px; padding-top: 16px; }
  body:not(.admin-figma-portal) .lg-split__quote { font-size: 1.35rem; }
  body:not(.admin-figma-portal) .lg-form-col { padding: 0 16px 40px; margin-top: -28px; position: relative; z-index: 2; background: transparent; }
  body:not(.admin-figma-portal) .lg-page { background: linear-gradient(var(--ef-plum-deep) 0, var(--ef-plum-deep) 260px, var(--ef-ivory) 260px); }
}
@media (max-width: 520px) { body:not(.admin-figma-portal) .lg-field-row { grid-template-columns: 1fr; } }

/* ================= ENROL (/trial) ================= */
body:not(.admin-figma-portal) .bt-page { background: var(--ef-ivory-2); padding: 0; }
body:not(.admin-figma-portal) .bt-hero {
  position: relative; display: block; min-height: 0; overflow: hidden; isolation: isolate; color: var(--ef-on-dark);
  padding: clamp(56px, 8vw, 104px) var(--ed-gutter, 48px) clamp(48px, 6vw, 80px); background: var(--ef-plum);
}
body:not(.admin-figma-portal) .bt-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 85% 0%, rgba(222, 140, 160, .26), transparent 50%), radial-gradient(rgba(246, 236, 230, .1) .8px, transparent 1px) 0 0 / 18px 18px; }
body:not(.admin-figma-portal) .bt-hero__img-col { position: absolute; inset: 0; z-index: -2; width: auto; height: auto; }
body:not(.admin-figma-portal) .bt-hero__img-col img { width: 100%; height: 100%; object-fit: cover; opacity: .22; filter: sepia(.3) saturate(.7); transform: none !important; }
body:not(.admin-figma-portal) .bt-hero__overlay { background: linear-gradient(90deg, var(--ef-plum) 25%, rgba(43, 15, 26, .55)); }
body:not(.admin-figma-portal) .bt-hero__content { position: relative; max-width: var(--ed-max, 1320px); margin: 0 auto; padding: 0; background: none; }
body:not(.admin-figma-portal) .bt-hero .sel-label { display: block; margin: 0 0 18px; color: #e8b4c0; font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
body:not(.admin-figma-portal) .bt-hero__title { margin: 0; font: 500 clamp(3rem, 6.4vw, 5.6rem)/1 var(--ef-display); color: var(--ef-on-dark); }
body:not(.admin-figma-portal) .bt-hero__title em { font-style: italic; font-weight: 400; color: #e8b4c0; }
body:not(.admin-figma-portal) .bt-hero__sub { max-width: 34rem; margin: 22px 0 0; color: var(--ef-on-dark-soft); font-size: 1rem; }
body:not(.admin-figma-portal) .bt-body {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: clamp(24px, 3vw, 44px); align-items: start;
  max-width: var(--ed-max, 1320px); margin: 0 auto; padding: clamp(36px, 5vw, 72px) var(--ed-gutter, 48px) clamp(56px, 7vw, 104px);
}
body:not(.admin-figma-portal) .bt-form, body:not(.admin-figma-portal) .bt-success { grid-column: 1; min-width: 0; }
body:not(.admin-figma-portal) .bt-form { display: grid; gap: 24px; }
body:not(.admin-figma-portal) .bt-form[hidden], body:not(.admin-figma-portal) .bt-success[hidden] { display: none; }
body:not(.admin-figma-portal) .bt-card { display: grid; gap: 24px; padding: clamp(24px, 3.5vw, 44px); background: var(--ef-ivory); border: 1px solid var(--ef-rule); border-radius: 24px; box-shadow: var(--ef-shadow); }
body:not(.admin-figma-portal) .bt-form__intro .sel-label { display: block; margin: 0 0 12px; color: var(--ef-ox); font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
body:not(.admin-figma-portal) .bt-form__title { margin: 0; font: 500 clamp(2rem, 3.2vw, 2.8rem)/1.05 var(--ef-display); color: var(--ef-ink); }
body:not(.admin-figma-portal) .bt-form__title em { font-style: italic; font-weight: 400; color: var(--ef-ox); }
body:not(.admin-figma-portal) .bt-form__sub { margin: 12px 0 0; color: var(--ef-soft); font-size: .9375rem; }
body:not(.admin-figma-portal) .bt-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body:not(.admin-figma-portal) .bt-field { gap: 10px; min-width: 0; }
body:not(.admin-figma-portal) .bt-optional { margin-left: 6px; color: var(--ef-taupe); font-weight: 400; letter-spacing: 0; text-transform: none; font-size: .75rem; }
body:not(.admin-figma-portal) .bt-textarea { min-height: 110px; resize: vertical; }
body:not(.admin-figma-portal) .bt-form__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding-top: 20px; border-top: 1px solid var(--ef-rule); }
body:not(.admin-figma-portal) .bt-form__note { margin: 0; color: var(--ef-soft); font-size: .875rem; }
body:not(.admin-figma-portal) :is(.ct-btn-primary, .ct-btn-ghost) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px; border-radius: 999px; font: 500 .75rem/1 var(--ef-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .25s, color .25s, box-shadow .25s, transform .25s;
}
body:not(.admin-figma-portal) .ct-btn-primary { border: 1px solid var(--ef-ox); background: var(--ef-ox); color: var(--ef-on-dark); box-shadow: 0 10px 26px -10px rgba(155, 61, 86, .6); }
body:not(.admin-figma-portal) .ct-btn-primary:hover { background: var(--ef-ox-2); border-color: var(--ef-ox-2); transform: translateY(-1px); }
body:not(.admin-figma-portal) .ct-btn-primary:disabled { opacity: .6; cursor: wait; transform: none; }
body:not(.admin-figma-portal) .ct-btn-ghost { border: 1px solid var(--ef-ox); background: transparent; color: var(--ef-ox); }
body:not(.admin-figma-portal) .ct-btn-ghost:hover { background: var(--ef-blush); }


/* Sticky plum summary card */
body:not(.admin-figma-portal) .bt-aside {
  grid-column: 2; grid-row: 1 / span 2; position: sticky; top: calc(var(--ef-nav) + 24px); display: grid; gap: 18px; padding: 32px 28px; border-radius: 24px; color: var(--ef-on-dark);
  background: radial-gradient(circle at 100% 0%, rgba(222, 140, 160, .22), transparent 55%), var(--ef-plum); box-shadow: var(--ef-shadow);
}
.bt-aside__label { margin: 0; color: #e8b4c0; font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
.bt-aside__title { margin: 0; font: 500 clamp(1.9rem, 2.6vw, 2.4rem)/1.05 var(--ef-display); }
.bt-aside__title em { font-style: italic; font-weight: 400; color: #e8b4c0; }
.bt-aside__steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: s; border-top: 1px solid rgba(246, 236, 230, .16); }
.bt-aside__steps li { counter-increment: s; display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(246, 236, 230, .16); font-size: .875rem; color: var(--ef-on-dark-soft); }
.bt-aside__steps li::before { content: counter(s); flex: none; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(246, 236, 230, .4); border-radius: 50%; font: italic 500 .95rem var(--ef-display); color: var(--ef-on-dark); }
.bt-aside__note { margin: 0; font-size: .8125rem; color: var(--ef-on-dark-soft); }
.bt-aside__note a { color: var(--ef-on-dark); text-underline-offset: 3px; }
body:not(.admin-figma-portal) .bt-success { text-align: center; padding: clamp(32px, 5vw, 64px); background: var(--ef-ivory); border: 1px solid var(--ef-rule); border-radius: 24px; box-shadow: var(--ef-shadow); }
body:not(.admin-figma-portal) .bt-success__icon { color: var(--ef-ox); font-size: 1.6rem; }
body:not(.admin-figma-portal) .bt-success .sel-label { color: var(--ef-ox); font: 500 .6875rem var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
body:not(.admin-figma-portal) .bt-success__title { font: 500 clamp(2.2rem, 4vw, 3.2rem)/1.05 var(--ef-display); color: var(--ef-ink); }
body:not(.admin-figma-portal) .bt-success__title em { font-style: italic; color: var(--ef-ox); }
body:not(.admin-figma-portal) .bt-success__body { color: var(--ef-soft); }
@media (max-width: 960px) {
  body:not(.admin-figma-portal) .bt-body { grid-template-columns: 1fr; }
  body:not(.admin-figma-portal) .bt-aside { grid-column: 1; grid-row: 1; position: static; }
}
@media (max-width: 560px) { body:not(.admin-figma-portal) .bt-field-row { grid-template-columns: 1fr; } body:not(.admin-figma-portal) .bt-form__footer .ct-btn-primary { width: 100%; } }

/* ================= CONTACT ================= */
body:not(.admin-figma-portal) .figma-page-hero--contact {
  position: relative; overflow: hidden; display: block; min-height: 0; padding: clamp(56px, 8vw, 104px) var(--ed-gutter, 48px) clamp(48px, 6vw, 80px); color: var(--ef-on-dark);
  background: radial-gradient(circle at 85% 0%, rgba(222, 140, 160, .26), transparent 50%), radial-gradient(rgba(246, 236, 230, .1) .8px, transparent 1px) 0 0 / 18px 18px, var(--ef-plum);
}
body:not(.admin-figma-portal) .figma-page-hero--contact > div { width: auto; max-width: var(--ed-max, 1320px); margin: 0 auto; }
body:not(.admin-figma-portal) .figma-page-hero--contact > div > p { margin: 0 0 18px; color: #e8b4c0; font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .22em; text-transform: uppercase; }
body:not(.admin-figma-portal) .figma-page-hero--contact h1 { font: 500 clamp(3rem, 6.4vw, 5.6rem)/1 var(--ef-display); color: var(--ef-on-dark); }
body:not(.admin-figma-portal) .pv-contact-page { max-width: none; width: 100%; padding: clamp(40px, 6vw, 88px) var(--ed-gutter, 48px) clamp(56px, 7vw, 104px); background: var(--ef-ivory-2); }
body:not(.admin-figma-portal) .pv-contact-grid { max-width: var(--ed-max, 1320px); margin: 0 auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
body:not(.admin-figma-portal) .pv-contact-grid h2 { margin: 0 0 32px; font: 500 clamp(2.2rem, 4vw, 3.4rem)/1.02 var(--ef-display); color: var(--ef-ink); }
body:not(.admin-figma-portal) .pv-contact-grid h2 em { font-style: italic; font-weight: 400; color: var(--ef-ox); }
body:not(.admin-figma-portal) .pv-contact-page .pv-section__kicker { color: var(--ef-ox); }
body:not(.admin-figma-portal) .pv-contact-details { gap: 0; margin: 0 0 28px; border-top: 1px solid var(--ef-rule); }
body:not(.admin-figma-portal) .pv-contact-details p { grid-template-columns: 130px minmax(0, 1fr); align-items: baseline; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--ef-rule); }
body:not(.admin-figma-portal) .pv-contact-details small { color: var(--ef-ox); font: 500 .6875rem/1.4 var(--ef-sans); letter-spacing: .18em; }
body:not(.admin-figma-portal) .pv-contact-details a, body:not(.admin-figma-portal) .pv-contact-details span { color: var(--ef-ink); font: 500 1.35rem/1.3 var(--ef-display); overflow-wrap: anywhere; }
body:not(.admin-figma-portal) .pv-contact-details a { text-decoration: underline; text-decoration-color: var(--ef-rule); text-underline-offset: 5px; }
body:not(.admin-figma-portal) .pv-contact-details a:hover { color: var(--ef-ox); text-decoration-color: var(--ef-ox); }
body:not(.admin-figma-portal) .pv-social-links { gap: 10px; margin-bottom: 28px; }
body:not(.admin-figma-portal) .pv-social-links a { padding: 10px 18px; border: 1px solid rgba(155, 61, 86, .3); border-radius: 999px; color: var(--ef-ox); font: 500 .6875rem var(--ef-sans); letter-spacing: .14em; text-transform: uppercase; }
body:not(.admin-figma-portal) .pv-social-links a:hover { background: var(--ef-blush); }
body:not(.admin-figma-portal) .pv-map { height: 300px; border: 1px solid var(--ef-rule); border-radius: 24px; box-shadow: var(--ef-shadow); background: var(--ef-blush); }
body:not(.admin-figma-portal) .pv-contact-form-wrap { padding: clamp(24px, 3.5vw, 44px); border: 1px solid var(--ef-rule); border-radius: 24px; background: var(--ef-ivory); box-shadow: var(--ef-shadow); }
body:not(.admin-figma-portal) .pv-contact-form-wrap h2 { margin-bottom: 24px; }
body:not(.admin-figma-portal) .pv-contact-form { gap: 10px; }
body:not(.admin-figma-portal) .pv-contact-form label { margin-top: 10px; color: var(--ef-ox); font: 500 .6875rem/1.3 var(--ef-sans); letter-spacing: .14em; }
body:not(.admin-figma-portal) .pv-contact-form textarea { min-height: 150px; resize: vertical; }
body:not(.admin-figma-portal) .pv-contact-form__note { color: var(--ef-soft); }
body:not(.admin-figma-portal) .pv-contact-form__note a { color: var(--ef-ox); text-underline-offset: 3px; }
body:not(.admin-figma-portal) .pv-contact-form .pv-button { margin-top: 16px; }
@media (max-width: 860px) {
  body:not(.admin-figma-portal) .pv-contact-grid { grid-template-columns: 1fr; }
  body:not(.admin-figma-portal) .pv-contact-details p { grid-template-columns: 1fr; gap: 4px; }
}
body:not(.admin-figma-portal) #contact-success-overlay { background: rgba(26, 10, 22, .7); }
body:not(.admin-figma-portal) #contact-success-overlay .modal-box { padding: 40px 32px; border-radius: 24px; background: var(--ef-ivory); box-shadow: var(--ef-shadow); }
body:not(.admin-figma-portal) #contact-success-overlay h3 { font: 500 2rem/1.1 var(--ef-display); color: var(--ef-ink); }
body:not(.admin-figma-portal) #contact-success-overlay p { color: var(--ef-soft); }

/* ================= Account utility pages (reset / verify) ================= */
body:not(.admin-figma-portal) main > .panel.modal-box { max-width: 520px; margin: clamp(32px, 6vw, 80px) auto; padding: clamp(28px, 4vw, 48px); border: 1px solid var(--ef-rule); border-radius: 24px; background: var(--ef-ivory); box-shadow: var(--ef-shadow); text-align: left; }
body:not(.admin-figma-portal) main > .panel.modal-box h1 { margin: 0 0 20px; font: 500 clamp(2.2rem, 4vw, 3rem)/1.05 var(--ef-display); color: var(--ef-ink); }
body:not(.admin-figma-portal) main > .panel.modal-box :is(p, .meta) { color: var(--ef-soft); }
body:not(.admin-figma-portal) main > .panel.modal-box label { display: block; margin: 14px 0 8px; color: var(--ef-ox); font: 500 .6875rem/1.3 var(--ef-sans); letter-spacing: .14em; text-transform: uppercase; }
body:not(.admin-figma-portal) main > .panel.modal-box input { width: 100%; min-height: 52px; padding: 14px 18px; border: 1px solid rgba(155, 61, 86, .28); border-radius: 12px; background: #fffdfa; font: 400 .9375rem var(--ef-sans); color: var(--ef-ink); }
body:not(.admin-figma-portal) main > .panel.modal-box input:focus { outline: none; border-color: var(--ef-ox); box-shadow: 0 0 0 4px rgba(155, 61, 86, .12); }
body:not(.admin-figma-portal) main > .panel.modal-box .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 20px; padding: 0 28px; border: 1px solid var(--ef-ox); border-radius: 999px; background: var(--ef-ox); color: var(--ef-on-dark); font: 500 .75rem/1 var(--ef-sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
body:not(.admin-figma-portal) main > .panel.modal-box .btn:hover { background: var(--ef-ox-2); }
body:not(.admin-figma-portal) main > .panel.modal-box a:not(.btn) { color: var(--ef-ox); text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  body:not(.admin-figma-portal) :is(.lg-submit, .lg-register-btn, .lg-link, .ct-btn-primary, .ct-btn-ghost, .bt-pill, .tm__btn) { transition: none !important; }
  body:not(.admin-figma-portal) :is(.lg-submit, .ct-btn-primary, .tm__btn):hover { transform: none; }
}
