html,body{background:#173260!important}#pt-overlay{position:fixed!important}#pt-overlay::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);width:clamp(280px,55vw,620px);height:clamp(280px,55vw,620px);border-radius:50%;background:radial-gradient(circle,rgba(44,74,138,0.28) 0%,transparent 70%);pointer-events:none;z-index:0}

/* ── Contact page specific styles ── */
    /* Error state for form fields */
    .form-field.has-error input,
    .form-field.has-error textarea,
    .form-field.has-error select {
      border-color: var(--color-error);
      box-shadow: 0 0 0 3px rgba(185, 64, 64, 0.12);
    }

    .form-field.has-error label {
      color: var(--color-error);
    }

    /* Select arrow */
    .form-field select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23173260' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 16px center;
      padding-right: 40px;
      cursor: pointer;
    }

    /* Time inputs */
    .time-inputs {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      flex-wrap: wrap;
    }
    .time-inputs input {
      width: clamp(44px, 14vw, 56px);
      min-width: 0;
      text-align: center;
    }
    .time-inputs span {
      color: var(--color-muted);
      font-size: var(--text-lg);
      padding-bottom: var(--space-3);
    }
    .time-inputs select {
      width: auto;
      padding-right: 36px;
    }

    /* Contact intro layout */
    .contact-intro {
      background: #ffffff;
      padding-top: calc(var(--nav-height) + var(--space-32));
      padding-bottom: var(--space-20);
    }
    .contact-intro__inner {
      max-width: 1000px;
      margin-inline: auto;
      display: grid;
      grid-template-columns: 5fr 7fr;
      gap: clamp(3rem, 8vw, 6rem);
      align-items: stretch;
    }
    .contact-intro__photo-wrap {
      position: relative;
      overflow: hidden;
      border-radius: var(--radius-photo);
      align-self: stretch;
    }
    .contact-intro__photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      box-shadow: 0 4px 32px rgba(23, 50, 96, 0.14);
    }
    .contact-intro__text-col {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
    }
    .contact-intro__title {
      margin-bottom: var(--space-6);
    }
    .contact-intro__text {
      margin-bottom: var(--space-4);
    }
    .contact-intro__quote {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--text-md);
      color: var(--color-navy-mid);
      line-height: 1.95;
      opacity: 0.85;
      margin-top: var(--space-8);
    }

    /* Upload button — file selected state */
    .upload-btn.has-file {
      border-color: var(--color-gold);
      color: var(--color-charcoal);
    }
    .upload-btn.has-file .upload-btn__text {
      font-size: var(--text-sm);
      letter-spacing: 0.02em;
      text-transform: none;
    }

    /* Banking card keyboard focus */
    .banking-card {
      cursor: pointer;
      user-select: none;
    }
    .banking-card:focus-visible {
      outline: 2px solid var(--color-navy-mid);
      outline-offset: 3px;
    }

    /* Location toggle squares */
    .location-options {
      display: flex;
      gap: var(--space-3);
      flex-wrap: wrap;
    }
    .location-card {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 130px;
      height: 52px;
      border: 1px solid var(--color-border-dark);
      border-radius: var(--radius-sm);
      font-family: var(--font-sans);
      font-size: var(--text-sm);
      font-weight: 400;
      letter-spacing: 0.05em;
      color: var(--color-charcoal);
      cursor: pointer;
      user-select: none;
      transition: border-color 0.2s, background 0.2s;
      background: #fff;
    }
    .location-card:hover {
      border-color: var(--color-gold);
    }
    .location-card.is-selected {
      border-color: var(--color-gold);
      background: var(--color-cream);
    }
    .location-card__x {
      display: none;
      position: absolute;
      top: 5px;
      right: 6px;
      width: 14px;
      height: 14px;
      align-items: center;
      justify-content: center;
      background: var(--color-gold);
      border-radius: 2px;
      color: #fff;
      font-size: 9px;
      line-height: 1;
      font-weight: 600;
    }
    .location-card.is-selected .location-card__x {
      display: flex;
    }

    @media (max-width: 768px) {
      .contact-intro {
        background: #ffffff;
        padding-top: calc(var(--nav-height) + var(--space-16));
        padding-bottom: var(--section-v);
      }
      .contact-intro__inner {
        grid-template-columns: 1fr;
        gap: var(--space-10);
      }
      .contact-intro__photo-wrap {
        max-width: 320px;
        margin-inline: auto;
        aspect-ratio: 2/3;
      }
    }

    @media (max-width: 768px) {
      .location-options {
        flex-direction: row;
        justify-content: flex-start;
      }
      .location-card {
        flex: none;
        width: 120px;
        min-width: 0;
        height: 44px;
      }
    }
    @media (max-width: 480px) {
      .contact-intro {
        background: #ffffff;
        padding-top: calc(var(--nav-height) + var(--space-14));
      }
      .time-inputs input {
        width: 48px;
      }
      .contact-photo-hero {
        aspect-ratio: 1 / 1;
        max-height: 60vh;
      }
    }

    /* ── Contact Photo Hero ── */
    .page-hero.contact-photo-hero {
      position: relative;
      width: 100%;
      aspect-ratio: 3 / 2;
      max-height: 85vh;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      padding: 0;
      background: #1a2d4a;
    }
    .page-hero.contact-photo-hero::before {
      display: none;
    }
    .contact-photo-hero__img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      opacity: 0;
      transition: opacity 0.8s ease;
    }
    .contact-photo-hero__img.is-loaded { opacity: 1; }
    .contact-photo-hero__overlay {
      display: block;
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(23,50,96,0.10) 0%,
        rgba(23,50,96,0.0) 25%,
        rgba(23,50,96,0.58) 60%,
        rgba(23,50,96,0.92) 100%
      );
    }
    .contact-photo-hero__content {
      position: relative;
      z-index: 2;
      width: 100%;
      text-align: center;
      padding: 0 var(--space-6) var(--space-20);
    }
    .contact-photo-hero__eyebrow {
      display: block;
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.58);
      margin-bottom: var(--space-4);
    }
    .contact-photo-hero__title {
      font-family: var(--font-script);
      font-style: italic;
      font-size: clamp(3rem, 7.5vw, 5.5rem);
      font-weight: 400;
      color: #fff;
      line-height: 1.1;
      letter-spacing: -0.01em;
      text-shadow: 0 2px 40px rgba(0,0,0,0.15);
      margin: 0;
    }
    .contact-intro { padding-top: var(--space-20) !important; }
    @media (max-width: 1024px) {
      .contact-photo-hero { height: min(78vh, 780px); }
    }
    @media (max-width: 768px) {
      .contact-photo-hero { height: min(72vh, 620px); }
      .contact-photo-hero__content { padding-bottom: var(--space-14); }
    }
    @keyframes sendLetter {
      0%   { transform: translateX(0)    rotate(0deg);  opacity: 1; }
      70%  { transform: translateX(36px) rotate(-6deg); opacity: 0; }
      100% { transform: translateX(0)    rotate(0deg);  opacity: 0; }
    }
    .form-submit-btn.is-sending .submit-envelope {
      animation: sendLetter 0.65s cubic-bezier(0.4,0,0.6,1) forwards;
    }

    .form-trust-signal {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--text-sm);
      color: rgba(23, 50, 96, 0.45);
      text-align: center;
      margin-bottom: var(--space-10);
      letter-spacing: 0.02em;
      line-height: 1.9;
    }

    /* ── Screening details block ── */
    .screening-details {
      margin-top: var(--space-6);
    }
    .screening-details summary {
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      gap: var(--space-3);
      user-select: none;
    }
    .screening-details summary::-webkit-details-marker { display: none; }
    .screening-optional {
      font-family: var(--font-sans);
      font-size: var(--text-xs);
      font-weight: 300;
      letter-spacing: 0.05em;
      text-transform: none;
      color: rgba(23,50,96,0.38);
      margin-left: auto;
    }
    .screening-chevron {
      flex-shrink: 0;
      transition: transform 0.3s ease;
      color: rgba(23,50,96,0.38);
    }
    details[open] .screening-chevron {
      transform: rotate(180deg);
    }
    .screening-details .form-group-heading {
      margin-top: 0;
    }
    .screening-details-body {
      padding-top: var(--space-2);
    }