    :root {
      --navy:        #2c1c62;
      --navy-mid:    #1f1448;
      --navy-deep:   #161033;
      --gold:        #ba9823;
      --gold-bright: #d4ae37;
      --violet:      #6B5CDB;
      --violet-dim:  rgba(107,92,219,0.15);
      --cream:       #F5F2EA;
      --cream-dark:  #EDE8DC;
      --warm-grey:   #6B645A;
      --rule:        #D8D3C8;

      --serif: 'Cormorant Infant', Georgia, 'Times New Roman', serif;
      --sans:  'Raleway', sans-serif;

      --max: 1180px;
      --text: 720px;

      --lion-mask: url("/lion-mark.svg");
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--serif);
      background: var(--cream);
      color: var(--navy);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a { color: inherit; }
    em { font-style: normal; }

    /* ============================================================
       PROGRESS + REVEAL
       ============================================================ */
    .progress {
      position: fixed;
      top: 0; left: 0;
      height: 2px;
      width: 0;
      background: var(--gold);
      z-index: 250;
      transition: width 0.1s linear;
    }
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1),
                  transform 0.9s cubic-bezier(0.16,1,0.3,1);
    }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    .reveal[data-delay="1"] { transition-delay: 0.10s; }
    .reveal[data-delay="2"] { transition-delay: 0.20s; }
    .reveal[data-delay="3"] { transition-delay: 0.32s; }
    .reveal[data-delay="4"] { transition-delay: 0.46s; }

    /* ============================================================
       MASTHEAD
       ============================================================ */
    .masthead {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 200;
      padding: 22px 56px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: background 0.35s ease, padding 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
      border-bottom: 1px solid transparent;
      will-change: transform;
    }
    .masthead.is-scrolled {
      background: var(--cream);
      border-bottom-color: var(--rule);
      padding: 14px 56px;
    }
    .masthead.is-hidden { transform: translateY(-100%); }
    .masthead__logo {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      overflow: hidden;
    }
    .masthead__lion-mark {
      width: 64px;
      height: 64px;
      flex-shrink: 0;
      background-color: var(--navy);
      -webkit-mask: var(--lion-mask) no-repeat center / contain;
              mask: var(--lion-mask) no-repeat center / contain;
    }
    .masthead__name {
      font-family: var(--serif);
      font-weight: 700;
      font-size: 1.05rem;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--navy);
    }
    .masthead__wordmark {
      display: block;
      height: 22px;
      width: auto;
      background: transparent;
    }
    @media (hover: hover) {
      .masthead__wordmark {
        max-width: 0;
        opacity: 0;
        transform: translateX(-10px);
        clip-path: inset(0 100% 0 0);
        transition: max-width 0.55s cubic-bezier(0.65, 0, 0.2, 1),
                    opacity 0.35s ease 0.08s,
                    clip-path 0.6s cubic-bezier(0.65, 0, 0.2, 1) 0.05s,
                    transform 0.55s cubic-bezier(0.65, 0, 0.2, 1) 0.05s;
      }
      .masthead__logo:hover .masthead__wordmark,
      .masthead__logo:focus-visible .masthead__wordmark {
        max-width: 220px;
        opacity: 1;
        transform: translateX(0);
        clip-path: inset(0 0 0 0);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .masthead__lion-mark,
      .masthead__wordmark { transition: none !important; }
    }
    .masthead__cta {
      font-family: var(--sans);
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--navy);
      padding: 10px 22px;
      border: 1px solid var(--navy);
      transition: background 0.2s ease, color 0.2s ease;
    }
    .masthead__cta:hover { background: var(--navy); color: var(--cream); }

    /* ============================================================
       PRIMITIVES
       ============================================================ */
    .eyebrow {
      font-family: var(--sans);
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--violet);
      display: inline-flex;
      align-items: center;
      gap: 14px;
    }
    .eyebrow::before, .eyebrow::after {
      content: "";
      width: 28px;
      height: 1px;
      background: var(--violet);
      opacity: 0.5;
    }

    .btn-apply, button[type="submit"] {
      display: inline-block;
      font-family: var(--sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--navy);
      background: var(--gold);
      padding: 20px 56px;
      border: none;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease;
    }
    .btn-apply:hover, button[type="submit"]:hover { background: var(--gold-bright); transform: translateY(-2px); }
    .btn-apply:focus-visible, button[type="submit"]:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

    /* ============================================================
       HERO
       ============================================================ */
    .hero {
      position: relative;
      padding: 200px 56px 120px;
      overflow: hidden;
    }
    .hero__watermark {
      position: absolute;
      top: 50%;
      right: -10%;
      transform: translateY(-50%);
      width: 560px;
      height: 560px;
      background-color: var(--navy);
      opacity: 0.04;
      -webkit-mask: var(--lion-mask) no-repeat center / contain;
              mask: var(--lion-mask) no-repeat center / contain;
      pointer-events: none;
    }
    .hero__inner {
      position: relative;
      z-index: 1;
      max-width: var(--max);
      margin: 0 auto;
    }
    .hero__eyebrow {
      margin-bottom: 40px;
      display: flex;
      justify-content: center;
    }
    .hero__headline {
      font-family: var(--serif);
      font-weight: 700;
      font-size: clamp(2.6rem, 7vw, 5.4rem);
      line-height: 1;
      letter-spacing: -0.015em;
      color: var(--navy);
      margin-bottom: 28px;
      max-width: 16ch;
    }
    .hero__sub {
      font-family: var(--serif);
      font-size: 1.24rem;
      line-height: 1.55;
      color: var(--navy-mid);
      max-width: 560px;
    }

    /* ============================================================
       FORM SECTION
       ============================================================ */
    .form-section {
      padding: 60px 56px 140px;
      border-top: 1px solid var(--rule);
    }
    .form-section__inner {
      max-width: var(--max);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.3fr 1fr;
      gap: 96px;
      align-items: start;
    }

    /* Form column */
    .contact-form {
      display: flex;
      flex-direction: column;
      gap: 32px;
    }
    .field {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .field__label, lable {
      font-family: var(--sans);
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--violet);
    }
    .field__label--required::after {
      content: " *";
      color: var(--gold);
    }
    .field__input,
    .field__textarea, input, textarea {
      font-family: var(--serif);
      font-size: 1.1rem;
      color: var(--navy);
      background: transparent;
      border: none;
      border-bottom: 1px solid var(--rule);
      padding: 10px 0;
      transition: border-color 0.25s ease;
      width: 100%;
    }
    .field__input:focus,
    .field__textarea:focus {
      outline: none;
      border-bottom-color: var(--violet);
    }
    .field__input::placeholder,
    .field__textarea::placeholder {
      color: var(--warm-grey);
      opacity: 0.5;
    }
    .field__textarea {
      resize: vertical;
      min-height: 140px;
      line-height: 1.5;
    }
    .field-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
    .field.has-error .field__input,
    .field.has-error .field__textarea {
      border-bottom-color: #b3261e;
    }
    .field__error, .wpcf7-not-valid-tip {
      font-family: var(--sans);
      font-size: 0.7rem;
      letter-spacing: 0.04em;
      color: #b3261e;
      margin-top: 4px;
    }
    .field.has-error .field__error { display: block; }

	.wpcf7-response-output {
font-family: var(--sans);
      font-size: 0.75rem;
    background: var(--cream-dark);
    border: 1px solid var(--violet);
    color: var(--navy-mid);
	margin-top: 14px;
      padding: 10px 14px;
}

    .form-summary-error, .invalid .wpcf7-response-output {
      color: #b3261e;
      border: 1px solid rgba(179, 38, 30, 0.4);
      background: rgba(179, 38, 30, 0.05);
    }

.wpcf7-response-output:empty {
    display: none;
}
    .contact-form.has-errors .form-summary-error { display: block; }

    .contact-form__submit {
      margin-top: 24px;
      align-self: flex-start;
    }
    .contact-form__legal {
      font-family: var(--sans);
      font-size: 0.7rem;
      color: var(--warm-grey);
      margin-top: 20px;
      max-width: 56ch;
      line-height: 1.6;
    }
    .contact-form__legal a {
      text-decoration: underline;
      text-decoration-color: var(--rule);
      text-underline-offset: 3px;
    }

    /* Aside column */
    .aside {
      padding-top: 36px;
    }
    .aside__chapter {
      font-family: var(--sans);
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--violet);
      padding-top: 14px;
      border-top: 2px solid var(--violet);
      display: inline-block;
      margin-bottom: 24px;
    }
    .aside__heading {
      font-family: var(--serif);
      font-weight: 700;
      font-size: 1.8rem;
      line-height: 1.15;
      color: var(--navy);
      margin-bottom: 24px;
    }
    .aside__body {
      font-family: var(--serif);
      font-size: 1.08rem;
      line-height: 1.65;
      color: var(--navy-mid);
      margin-bottom: 28px;
    }
    .aside__body p { margin-bottom: 16px; }
    .aside__body p:last-child { margin-bottom: 0; }
    .aside__divider {
      width: 48px;
      height: 1px;
      background: var(--rule);
      margin: 32px 0;
    }
    .aside__list {
      list-style: none;
      display: grid;
      gap: 14px;
    }
    .aside__list li {
      font-family: var(--sans);
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--navy-mid);
      display: flex;
      gap: 14px;
      align-items: baseline;
      padding: 4px 0;
    }
    .aside__list li::before {
      content: "";
      flex-shrink: 0;
      width: 12px;
      height: 1px;
      background: var(--violet);
      transform: translateY(-4px);
    }
    .aside__list li strong {
      font-weight: 600;
      color: var(--navy);
      font-family: var(--serif);
    }

    /* ============================================================
       CLOSING
       ============================================================ */
    .closing {
      background: var(--navy-deep);
      color: var(--cream);
      padding: 100px 56px;
      position: relative;
      overflow: hidden;
    }
    .closing__watermark {
      position: absolute;
      bottom: -180px;
      right: -120px;
      width: 600px;
      height: 600px;
      background-color: var(--violet);
      opacity: 0.07;
      -webkit-mask: var(--lion-mask) no-repeat center / contain;
              mask: var(--lion-mask) no-repeat center / contain;
      pointer-events: none;
    }
    .closing__inner {
      position: relative;
      z-index: 1;
      max-width: 820px;
      margin: 0 auto;
      text-align: center;
      padding-top: 56px;
    }
    .closing__inner::before {
      content: "\201C";
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translateX(-50%);
      font-family: var(--serif);
      font-size: clamp(8rem, 14vw, 12rem);
      line-height: 1;
      color: var(--cream);
      opacity: 0.10;
      pointer-events: none;
    }
    .closing__quote {
      font-family: var(--serif);
      font-weight: 400;
      font-style: normal;
      font-size: clamp(1.7rem, 3.6vw, 2.6rem);
      line-height: 1.35;
      letter-spacing: -0.005em;
      color: var(--cream);
      margin: 0 0 32px;
    }
    .closing__quote em {
      font-style: normal;
      color: var(--gold-bright);
    }
    .closing__attr {
      font-family: var(--sans);
      font-size: 0.66rem;
      font-weight: 600;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(245,242,234,0.55);
    }

.pxl-field-wrap {
padding-top: 15px;}

.screen-reader-response {
display:none;}

    /* ============================================================
       FOOTER
       ============================================================ */
    .page-footer {
      background: var(--navy);
      border-top: 1px solid rgba(247,244,236,0.08);
      padding: 36px 56px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .page-footer__copy {
      font-family: var(--sans);
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.12em;
      color: rgba(247,244,236,0.25);
    }
    .page-footer__nav { display: flex; gap: 32px; }
    .page-footer__nav a {
      font-family: var(--sans);
      font-size: 0.6rem;
      font-weight: 500;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      text-decoration: none;
      color: rgba(247,244,236,0.35);
      transition: color 0.2s;
    }
    .page-footer__nav a:hover { color: var(--gold-bright); }

    /* ============================================================
       SUCCESS STATE (after submit via mailto)
       ============================================================ */
    .form-success {
      display: none;
      padding: 36px;
      background: var(--cream-dark);
      border: 1px solid var(--violet);
      margin-top: 24px;
    }
    .form-success__title {
      font-family: var(--serif);
      font-weight: 700;
      font-size: 1.3rem;
      color: var(--navy);
      margin-bottom: 10px;
    }
    .form-success__body {
      font-family: var(--serif);
      font-size: 1rem;
      color: var(--navy-mid);
    }
    .contact-form.is-submitted .form-success { display: block; }

	.hidden-fields-container {
	display: none;
}


    /* ============================================================
       RESPONSIVE
       ============================================================ */
    @media (max-width: 960px) {
      .masthead { padding: 18px 28px; }
      .masthead.is-scrolled { padding: 12px 28px; }
      .hero { padding: 160px 28px 80px; }
      .form-section { padding: 48px 28px 100px; }
      .form-section__inner { grid-template-columns: 1fr; gap: 64px; }
      .closing { padding: 80px 28px; }
      .aside { padding-top: 0; }
      .page-footer {
        flex-direction: column;
        gap: 18px;
        padding: 28px;
        text-align: center;
      }
      .page-footer__nav { flex-wrap: wrap; justify-content: center; gap: 18px; }
    }

    @media (max-width: 560px) {
      .field-row { grid-template-columns: 1fr; gap: 24px; }
      .btn-apply { width: 100%; text-align: center; }
    }

    @media (prefers-reduced-motion: reduce) {
      .reveal { opacity: 1; transform: none; transition: none; }
      .masthead { transition: none; }
    }
