/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V4
 * Fidelity migration: existing editorial design, cobalt anchor, original section structure.
 * User-requested source design takes precedence over new-theme or typography changes.
 */
/* Original design is retained in extracted stylesheets. Only runtime replacements here. */
html, body { overflow-x: clip; }
.header-menu { visibility: hidden; }
body.header--menu-open .header-menu { visibility: visible; opacity: 1; }
body.header--menu-open { overflow-y: hidden; }
.accordion-item__dropdown { transition: height .25s ease; }
.sqs-video-wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.migration-form-status { padding: 1rem 0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; }
}
.migration-name { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; }
.migration-form fieldset { border: 0; padding: 0; margin-inline: 0; min-width: 0; }
.migration-form .field-element { box-sizing: border-box; width: 100%; font: inherit; }
.migration-form .option { display: block; margin-block: .5rem; }
.migration-form .option input { width: auto; }
.migration-form .required { font-size: .75em; }
.sqs-gallery-block-grid .slide .margin-wrapper { aspect-ratio: 1; }
.sqs-gallery-block-grid .content-fill { display: block; position: relative; height: 100%; overflow: clip; }
.sqs-gallery-block-grid img { width: 100%; height: 100%; object-fit: cover; }
.migration-form .migration-name label { display: block; width: auto; float: none; }
.migration-form .migration-name input { display: block; }
.migration-form .field-element {
  border: 0;
  border-bottom: var(--form-field-border-thickness, 1px) solid var(--form-field-border-color, currentColor);
  background: var(--form-field-background-color, transparent);
  color: inherit;
  padding: 12px 0;
  border-radius: 0;
}
.migration-mailing-option { display: flex; align-items: center; gap: .5rem; margin-top: .5rem; font-size: .8em; }
.migration-mailing-option input { width: auto; }
.sqs-site-style-form .migration-form .form-item { border: 0 !important; }
.sqs-site-style-form .migration-form .migration-name label { display: block !important; width: auto !important; }
.sqs-site-style-form .migration-form input.field-element,
.sqs-site-style-form .migration-form textarea.field-element {
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  padding: 12px 0 !important;
  display: block !important;
  grid-column: 1 / -1;
}
.migration-dialog { border: 0; background: hsl(var(--white-hsl)); color: hsl(var(--black-hsl)); width: min(600px, 90vw); max-height: 85vh; padding: 3rem; box-sizing: border-box; }
.migration-dialog::backdrop { background: hsla(var(--black-hsl), .6); backdrop-filter: blur(5px); }
.migration-dialog .form-wrapper { display: block !important; }
.migration-dialog-close { position: absolute; top: .5rem; right: 1rem; border: 0; background: transparent; color: inherit; font: inherit; font-size: 2rem; cursor: pointer; }
@media (max-width: 640px) { .migration-dialog { padding: 2.5rem 1.25rem 1.5rem; } }
.migration-reel-link { display: block; width: 100%; height: 100%; }
.migration-reel-link .sqs-video-overlay { opacity: 1 !important; }
/* Squarespace normally sets stretched SVG dimensions during component hydration. */
.sqs-shape-block-container[data-stretched-to-fill] > svg.sqs-shape { width: 100%; height: 100%; }
/* The downloaded Instagram block has no Squarespace gallery initializer.
   Keep its eight source posts as a responsive, in-flow strip. */
footer .sqs-gallery-block-grid .sqs-gallery {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  height: auto !important;
  gap: 0;
}
footer .sqs-gallery-block-grid .sqs-gallery::before,
footer .sqs-gallery-block-grid .sqs-gallery::after { display: none; }
footer .sqs-gallery-block-grid .slide {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  min-width: 0;
}
footer .sqs-gallery-block-grid .slide .margin-wrapper { margin: 0 !important; height: auto; aspect-ratio: 1; }
footer .sqs-gallery-block-grid .sqs-video-wrapper { position: relative; padding: 0 !important; height: 100%; }
footer .sqs-gallery-block-grid .sqs-video-overlay { position: absolute; inset: 0; }
footer .sqs-gallery-block-grid .sqs-video-overlay img { display: block; }
@media (max-width: 767px) {
  footer .sqs-gallery-block-grid .sqs-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
footer .sqs-gallery-block-grid .sqs-gallery { align-items: start; }
footer .sqs-gallery-block-grid .sqs-gallery .slide {
  position: relative;
  height: auto !important;
  aspect-ratio: 1;
  overflow: clip;
}
footer .sqs-gallery-block-grid .sqs-gallery .slide .margin-wrapper,
footer .sqs-gallery-block-grid .sqs-gallery .slide .content-fill,
footer .sqs-gallery-block-grid .sqs-gallery .slide .sqs-video-wrapper,
footer .sqs-gallery-block-grid .sqs-gallery .slide .migration-reel-link {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}
footer .sqs-gallery-block-grid .sqs-gallery .slide img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  opacity: 1 !important;
}
/* Cover the fractional-pixel SVG edge at the Squad → mission blue join. */
section[data-section-id="6765baf67becff5dcd611718"] > .section-border { top: -1px; }
/* Local original video replaces the Squarespace native-video controller. */
#on-the-mic .mic-background-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#on-the-mic .mic-video-toggle { position: absolute; bottom: 1rem; right: 6vw; z-index: 5; color: hsl(var(--white-hsl)); background: hsla(var(--black-hsl), .55); border: 1px solid currentColor; padding: .5rem .8rem; font: inherit; font-size: .7rem; cursor: pointer; }
#on-the-mic .mic-video-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
#on-the-mic .section-background { background-color: hsl(var(--black-hsl)) !important; }

/* One photography starting rate replaces the former location choices. */
.fe-block-8cb336843188ad0d322a { grid-area: 40/2/42/10 !important; }
.fe-block-40e6622ed4f3d260f476 { display: none !important; }
@media (min-width: 768px) {
  .fe-block-8cb336843188ad0d322a { grid-area: 17/15/18/25 !important; }
}

/* Scaled Squarespace text needs explicit sizing without its runtime. */
.group-launch-heading {
  color: hsl(var(--darkAccent-hsl));
  font-family: inherit;
  font-weight: 400;
  font-size: clamp(2rem, 9.6vw, 11rem);
  line-height: 1.1;
  letter-spacing: -.035em;
  white-space: nowrap;
  text-align: center;
  margin: 0;
}
.group-questions-heading {
  color: inherit;
  font-family: inherit;
  font-weight: 400;
  font-size: clamp(2.5rem, 9vw, 9rem);
  line-height: 1;
  letter-spacing: -.025em;
  margin: 0 0 clamp(2rem, 4vw, 4rem);
}
.group-questions-heading { margin-inline: max(6vw, calc((100% - 1200px) / 2)); }

/* Native replacement for the merchandise Squarespace background FX canvas. */
[data-section-id="6765e62e42f2ad381d56841d"] .section-background-content,
[data-section-id="6765e62e42f2ad381d568435"] .section-background-content {
  position: absolute; inset: 0; overflow: hidden;
}
[data-section-id="6765e62e42f2ad381d56841d"] .background-image-fx,
[data-section-id="6765e62e42f2ad381d568435"] .background-image-fx {
  display: block !important; opacity: 1 !important; visibility: visible !important;
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transform: scale(var(--merch-image-scale, 1)); transform-origin: center;
}
[data-section-id="6765e62e42f2ad381d56841d"] .background-fx-canvas,
[data-section-id="6765e62e42f2ad381d568435"] .background-fx-canvas { display: none; }
/* Overlap adjacent cobalt backgrounds to avoid a fractional-pixel contact seam. */
section[data-section-id="6773bb310e11c209ceabd897"] > .section-border { top: -1px; }

/* Preserve display typography while keeping words intact at smaller widths. */
@media (max-width: 767px) {
  #block-36e7843c2f8387f1c7ac h1 {
    font-size: clamp(3.5rem, 19vw, 7rem) !important; line-height: 1.05;
    overflow-wrap: normal; word-break: normal; white-space: nowrap !important;
  }
  #block-yui_3_17_2_1_1778591294610_1501 h2,
  #block-yui_3_17_2_1_1778591294610_1501 h3 {
    font-size: clamp(1.6rem, 7.5vw, 2rem) !important; line-height: 1.25;
  }
  footer #block-b89ea6fb9a49cc89e090 h4 { font-size: clamp(2.5rem, 17vw, 4rem) !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .fe-6a0326aff450d82e50297515 {
    grid-template-rows: auto auto auto !important;
    row-gap: 2rem; padding-block: 1.5rem 3rem;
  }
  .fe-block-680f73c906adee3f5907 { grid-area: 1/2/2/20 !important; }
  #block-680f73c906adee3f5907 h1 {
    font-size: clamp(4rem, 11vw, 7rem) !important; line-height: 1.12;
    overflow-wrap: normal; word-break: normal; white-space: nowrap !important;
  }
  .fe-block-yui_3_17_2_1_1778591294610_1501 { grid-area: 2/2/3/20 !important; }
  #block-yui_3_17_2_1_1778591294610_1501 h2,
  #block-yui_3_17_2_1_1778591294610_1501 h3 { font-size: 2rem !important; line-height: 1.25; }
  .fe-block-13d81a88d0c0fb66e705 { grid-area: 3/2/4/20 !important; }
  section[data-section-id="679d1c5e990a0a1ff4f3c39a"] .fluid-engine {
    display: flex; flex-direction: column; gap: 1.75rem;
    padding-block: 2rem; align-items: center;
  }
  section[data-section-id="679d1c5e990a0a1ff4f3c39a"] .fe-block { width: 100%; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #block-680f73c906adee3f5907 h1 span[class^='sqsrte-text-color'] { font-size: inherit !important; }
}
@media (max-width: 767px) {
  #necklaces .background-image-fx { object-position: 65% 50% !important; }
}
@media (max-width: 767px) {
  .fe-6a0326aff450d82e50297515 {
    display: flex; flex-direction: column; gap: 2rem;
    padding: 3rem 0; box-sizing: border-box;
  }
  .fe-6a0326aff450d82e50297515 > .fe-block { width: 100%; }
}

/* Quiet factual introductions within the existing editorial composition. */
.service-definition, .channel-language {
  font-size: clamp(.85rem, 1.1vw, 1rem); line-height: 1.5;
  letter-spacing: .025em; text-align: center;
}
#block-c18098a946a38c578636 .service-definition { margin: 0 0 1.5rem; }
#block-yui_3_17_2_1_1734726284562_50588 .service-definition { margin: 1.5rem auto 0; max-width: 35rem; }
.header-nav-item a { display: inline-flex; align-items: center; min-height: 44px; font-size: max(12px, .85vw); }
.header-menu-nav-item a { min-height: 44px; }
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.program-testimonial .program-testimonial-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto; align-items: center;
  gap: clamp(2rem, 6vw, 6rem); padding: 3rem 0 5rem;
}
.program-testimonial .program-testimonial-layout::before,
.program-testimonial .program-testimonial-layout::after { display: none; }
.program-testimonial-portrait { margin: 0; min-width: 0; }
.program-testimonial-portrait img { display: block; width: 100%; height: auto; }
.program-testimonial-copy { min-width: 0; padding-right: 1rem; color: hsl(var(--darkAccent-hsl)); }
.program-testimonial-copy h3 { font-size: clamp(2.75rem, 5vw, 5rem); line-height: 1; font-weight: 400; margin: 1.5rem 0 2rem; }
.program-testimonial-kicker { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.program-testimonial-copy blockquote { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.5rem); line-height: 1.65; }
.program-testimonial-copy blockquote p { font: inherit; margin: 0 0 1em; }
.program-testimonial-credit { font-size: .75rem; margin-top: 2rem; }
.program-testimonial-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: .75rem; }
.program-testimonial-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
/* Equal-height slides follow their text rather than the source's fixed image grid. */
.swiper[data-id="6882406280206097"] .swiper-slide { height: auto; }
.swiper[data-id="6882406280206097"] .swiper-slide > section { height: 100%; }
.swiper[data-id="6882406280206097"] .swiper-pagination { bottom: 1rem; }
@media (max-width: 1023px) {
  .program-testimonial .program-testimonial-layout { gap: 2rem; }
  .program-testimonial-copy { padding: 0 1rem 0 0; }
  .program-testimonial-copy blockquote { font-size: 1.05rem; }
  .program-testimonial-copy h3 { margin-block: 1rem 1.5rem; }
  section[data-section-id="6765d8de2d3ff81612d4a0f6"] .fluid-engine {
    display: block; padding-block: clamp(2.5rem, 6vw, 5rem);
  }
  section[data-section-id="6765d8de2d3ff81612d4a0f6"] .fe-block { width: 100%; }
}
@media (max-width: 767px) {
  #block-yui_3_17_2_1_1734726284562_50588 h1 { font-size: clamp(2.6rem, 12vw, 5rem) !important; line-height: 1.15; }
  .program-testimonial .program-testimonial-layout { grid-template-columns: minmax(0, 1fr); padding-block: 1.5rem 5rem; gap: 2rem; }
  .program-testimonial-portrait { width: 75%; }
  .program-testimonial-copy { padding: 0 1rem; }
  .program-testimonial-copy h3 { font-size: 3rem; }
  .program-testimonial-copy blockquote { font-size: 1.1rem; }
  .program-testimonial-kicker { font-size: .7rem; }
  .program-testimonial-credit { font-size: .7rem; }
  .program-testimonial .content-wrapper { padding-inline: 6vw !important; }
}
@media (max-width: 1023px) {
  section[data-section-id="6765d8de2d3ff81612d4a0f6"] { min-height: 0 !important; }
}
/* Keep carousel controls away from quotes at every width. */
.swiper[data-id="6882406280206097"] .swiper-nav-button {
  top: auto !important; bottom: .6rem; margin-top: 0 !important;
  width: 44px; height: 44px;
}
.swiper[data-id="6882406280206097"] .swiper-button-prev { left: 6vw; }
.swiper[data-id="6882406280206097"] .swiper-button-next { right: 6vw; }
@media (max-width: 767px) {
  .sk-section-slider section.program-testimonial .content-wrapper { padding-inline: 6vw !important; }
}
@media (max-width: 767px) {
  #block-yui_3_17_2_1_1734717523384_202930 p { font-size: clamp(.9rem, 3.8vw, 1.1rem); line-height: 1.65; }
}
.service-definition, .channel-language { font-size: clamp(.95rem, 1.1vw, 1.1rem); }
.header-nav-item a { font-size: max(13px, .85vw); }
.catalogue-notice { max-width: 68rem; margin: auto; padding: clamp(4rem, 8vw, 8rem) 6vw; text-align: center; }
.catalogue-notice h1 { font-size: clamp(2.75rem, 6vw, 6rem); line-height: 1.1; margin-block: 1.5rem 2rem; font-weight: 400; }
.catalogue-notice > p:not(.catalogue-kicker) { max-width: 36rem; margin: 0 auto 2rem; }
.catalogue-kicker { font-size: .8rem; letter-spacing: .08em; }
.catalogue-links { display: flex; flex-direction: column; align-items: center; gap: 1rem; font-size: .9rem; }
.catalogue-links a { display: inline-flex; align-items: center; min-height: 44px; }
.catalogue-primary { background: hsl(var(--black-hsl)); color: hsl(var(--white-hsl)); padding: 1rem 1.5rem; }
@media (min-width: 768px) and (max-width: 1023px) {
  footer .fe-6773c77a332d900739d97106 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto;
    padding: 1rem 4vw; gap: .5rem 1rem;
  }
  footer .fe-6773c77a332d900739d97106 .fe-block { grid-area: auto !important; }
  footer .fe-6773c77a332d900739d97106 a { font-size: .8rem; min-height: 44px; padding: .5rem !important; box-sizing: border-box; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  section[data-section-id="6765e62e42f2ad381d56841a"] { min-height: 0 !important; }
  section[data-section-id="6765e62e42f2ad381d56841a"] .content-wrapper { padding-block: 4vw !important; }
  section[data-section-id="6765e62e42f2ad381d56841a"] .fluid-engine { display: block; padding-block: 6vw; }
}
/* The original full-width pagination hit box otherwise covers bottom arrows. */
.swiper[data-id="6882406280206097"] .swiper-pagination {
  width: max-content; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; height: 44px; bottom: .6rem;
}
.swiper[data-id="6882406280206097"] .swiper-pagination-bullet {
  position: relative; width: 24px; height: 44px; margin: 0 2px;
  border-radius: 0; background: transparent;
}
.swiper[data-id="6882406280206097"] .swiper-pagination-bullet::after {
  content: ''; position: absolute; width: 10px; height: 10px; border-radius: 50%;
  top: 17px; left: 7px; background: hsl(var(--accent-hsl));
}
.fe-block-a7a056ac08dcef6194c7 { grid-column: 2 / -2 !important; justify-self: center; width: min(22rem, 88vw); }
#block-a7a056ac08dcef6194c7 a { min-height: 44px; box-sizing: border-box; }

/* Semantic headings retain their approved visual scale. */
#block-c18098a946a38c578636 h1.home-service-title {
  font-family: var(--body-font-font-family); font-style: normal;
  font-weight: var(--body-font-font-weight); text-transform: none;
  font-size: clamp(.95rem, 1.1vw, 1.1rem); line-height: 1.5;
  letter-spacing: .025em;
}
.unified-display-title .display-title-line { display: block; margin: 0; }
#block-2cbf0a3ff99c814340fe h2.merch-display-title {
  --heading-2-size-value: var(--heading-1-size-value);
  --heading-2-size: var(--heading-1-size);
}

/* Form delivery states (public/forms.js). */
.migration-form-status:empty { display: none; }
.migration-form-status[data-state="error"] { font-style: italic; }
.migration-form-status a { color: inherit; text-decoration: underline; }
.migration-turnstile:empty { display: none; }
.migration-turnstile { margin: .75rem 0; }
form[aria-busy="true"] [type="submit"] { opacity: .6; cursor: progress; }

/* Footer email under the social icons (added 2026-11-02). */
.migration-footer-email { display: block; margin-top: 1rem; text-align: center; color: inherit; font-size: 1rem; letter-spacing: .04em; text-decoration: none; }
.migration-footer-email:hover, .migration-footer-email:focus-visible { text-decoration: underline; }

/* ---------- Contact form redesign (2026-11-02, Vlad: "a lot more readable on all three widths").
   Scoped to the contact form; markup and field names untouched (worker/forms.ts relies on them).
   Palette from the site: cobalt #1D00FE, red #FF0003, ink #202020. Outfit text, Poppins buttons. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] {
  --cf-ink: #202020; --cf-cobalt: #1D00FE; --cf-red: #FF0003; --cf-muted: rgba(32, 32, 32, .6); --cf-line: rgba(32, 32, 32, .18);
  max-width: 760px; margin: 0 auto; font-family: Outfit, sans-serif; color: var(--cf-ink); text-align: left;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-list { display: grid; gap: 2.25rem; margin: 0; padding: 0; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-list .form-item { margin: 0; padding: 0; border: 0; min-width: 0; }
/* Labels: small, uppercase, tracked. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .title,
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-name > label {
  display: block; margin: 0 0 .5rem; padding: 0; font: 500 .8125rem/1.4 Outfit, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--cf-ink);
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .required { font-size: .75rem; font-weight: 400; letter-spacing: .04em; text-transform: none; color: var(--cf-muted); }
/* Name: the two sub-labels carry the labels; the group legend stays for screen readers only. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.name > legend.title {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-name { display: grid; grid-template-columns: 1fr 1fr; gap: 2.25rem 1.5rem; }
/* Fields: white boxes with a thin ink line, the same system as the interest rows. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element { font-family: Outfit, sans-serif; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input.field-element {
  display: block; width: 100%; box-sizing: border-box; height: 3.5rem; margin: 0; padding: 0 1rem;
  font: 300 1.125rem/1.4 Outfit, sans-serif; letter-spacing: 0; text-transform: none; color: var(--cf-ink);
  background: #fff; border: 1px solid var(--cf-line); border-radius: 0; box-shadow: none; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element::placeholder { color: var(--cf-muted); opacity: 1; font: 300 1.125rem/1.4 Outfit, sans-serif; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element:hover { border-color: var(--cf-ink); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element:focus { border-color: var(--cf-cobalt); box-shadow: inset 0 0 0 1px var(--cf-cobalt); }
/* Multi-line fields. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] textarea.field-element {
  display: block; width: 100%; box-sizing: border-box; height: auto; min-height: 10rem; margin: 0; padding: .9rem 1rem;
  font: 300 1.125rem/1.55 Outfit, sans-serif; color: var(--cf-ink); background: #fff;
  border: 1px solid var(--cf-line); border-radius: 0; box-shadow: none; outline: none; resize: vertical;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-item.textarea:last-child textarea.field-element { min-height: 6rem; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .description:empty { display: none; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .description { margin: .5rem 0 0; font: 400 .875rem/1.5 Outfit, sans-serif; color: var(--cf-muted); }
/* Errors after a submit attempt (the browser marks them; forms.js calls reportValidity). */

/* Newsletter opt-in: a real, visible checkbox. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-mailing-option {
  display: flex; align-items: center; gap: .75rem; margin: 1rem 0 0; font: 400 .9375rem/1.4 Outfit, sans-serif; color: var(--cf-ink); cursor: pointer;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; flex: none; width: 1.25rem; height: 1.25rem; margin: 0; border: 1px solid var(--cf-ink); border-radius: 0; background: #fff; display: grid; place-content: center; cursor: pointer;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]::before {
  content: ""; width: .65rem; height: .35rem; border: 2px solid #fff; border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); opacity: 0;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]:checked { background: var(--cf-cobalt); border-color: var(--cf-cobalt); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]:checked::before { opacity: 1; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]:focus-visible { outline: 2px solid var(--cf-cobalt); outline-offset: 3px; }
/* Interests: a numbered list of large rows, two columns from tablet up. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox { counter-reset: cf-interest; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox > legend.title { margin-bottom: 1rem; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox {
  display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; row-gap: .75rem;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox > legend { float: left; width: 100%; grid-column: 1 / -1; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox > .description { grid-column: 1 / -1; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option {
  counter-increment: cf-interest; position: relative; display: flex; align-items: center; gap: 1rem; margin: 0; min-height: 4rem;
  padding: .9rem 1.1rem; box-sizing: border-box; border: 1px solid var(--cf-line); background: #fff;
  font: 400 1rem/1.35 Outfit, sans-serif; color: var(--cf-ink); text-align: left; cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option::before {
  content: counter(cf-interest, decimal-leading-zero); flex: none; font: 500 .8125rem/1 Outfit, sans-serif; letter-spacing: .1em; color: var(--cf-cobalt);
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option span { flex: 1; }
/* The native box stays for keyboard and screen readers, drawn at the row's right edge. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option input[type="checkbox"] { order: 2; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:hover { border-color: var(--cf-ink); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked) { background: var(--cf-cobalt); border-color: var(--cf-cobalt); color: #fff; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked)::before { color: #fff; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked) input[type="checkbox"] { background: #fff; border-color: #fff; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked) input[type="checkbox"]::before { border-color: var(--cf-cobalt); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:focus-visible) { outline: 2px solid var(--cf-cobalt); outline-offset: 2px; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option input:focus-visible { outline: none; }
/* Submit. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper { margin: 2.75rem 0 0; text-align: left; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper [type="submit"] {
  display: inline-block; width: auto; min-width: 15rem; margin: 0; padding: 1.15rem 2.75rem;
  font: 500 .9375rem/1 Poppins, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  color: #fff; background: var(--cf-red); border: 0; border-radius: 0; cursor: pointer; transition: background-color .15s ease;
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper [type="submit"]:hover { background: var(--cf-ink); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper [type="submit"]:focus-visible { outline: 2px solid var(--cf-cobalt); outline-offset: 3px; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-form-status { margin: 1rem 0 0; padding: 0; font: 400 1rem/1.5 Outfit, sans-serif; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-form-status[data-state="ok"] { color: var(--cf-cobalt); }
/* Tablet and down: interests in one column below 600px, full-width button on phones. */
@media (max-width: 599px) {
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-list { gap: 2rem; }
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-name { grid-template-columns: 1fr; gap: 2rem; }
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox { grid-template-columns: 1fr; }
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option { min-height: 3.5rem; }
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper [type="submit"] { width: 100%; min-width: 0; padding: 1.25rem 1rem; }
}
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Layout follows the form's own width (the tablet grid gives it ~350px): container queries. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] { container: cf / inline-size; width: 100%; box-sizing: border-box; }
@container cf (max-width: 560px) {
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] fieldset.checkbox { grid-template-columns: minmax(0, 1fr); }
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .form-button-wrapper [type="submit"] { width: 100%; min-width: 0; }
}
@container cf (max-width: 380px) {
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .migration-name { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 599px) {
  #block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] { padding-top: 1.25rem; }
}
/* Squarespace's checkbox skin uses !important fills; this form's checkboxes override them. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]::before { background: transparent !important; border-color: #fff !important; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] input[type="checkbox"]:checked { background-color: var(--cf-cobalt) !important; border-color: var(--cf-cobalt) !important; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked) input[type="checkbox"] { background-color: #fff !important; border-color: #fff !important; }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .option:has(input:checked) input[type="checkbox"]::before { border-color: var(--cf-cobalt) !important; }
/* Focus beats the error outline while typing. */
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element:user-invalid:not(:focus) { border-color: var(--cf-red); }
#block-802b5c3fe39ce98ef8bb form[data-form-name="Contact Form About You"] .field-element:focus { border-color: var(--cf-cobalt); }
