/* FLAW Luxury Upgrade – Flatsome child theme layer, loaded after existing editorial CSS. */
:root {
  --flaw-ink: #222222;
  --flaw-ink-2: #2E2E2E;
  --flaw-ink-soft: #4A4A4A;
  --flaw-ivory: #F7F4F0;
  --flaw-ivory-2: #EFECE7;
  --flaw-ivory-3: #D9D6D1;
  --flaw-burgundy: #940C27;
  --flaw-burgundy-deep: #6C081B;
  --flaw-gold: #940C27;
  --flaw-gold-light: #D9D6D1;
  --flaw-line: rgba(23, 22, 21, .15);
  --flaw-line-light: rgba(255, 255, 255, .22);
  --flaw-shadow: 0 22px 60px rgba(23, 22, 21, .12);
  --flaw-radius: 2px;
  --flaw-shell: min(100% - 4rem, 1380px);
}

html { scroll-behavior: smooth; }
body.flaw-legal-site { background: var(--flaw-ivory); color: var(--flaw-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.flaw-legal-site .page-wrapper, body.flaw-legal-site .content-area { background: var(--flaw-ivory); }
body.flaw-legal-site .row, body.flaw-legal-site .container { max-width: 1380px; }

/* Quiet-luxury header, still rendered by the Flatsome child theme. */
body.flaw-legal-site .flaw-site-header { position: sticky; top: 0; background: rgba(247, 243, 237, .94); border-bottom: 1px solid var(--flaw-line); box-shadow: 0 8px 30px rgba(23, 22, 21, .04); backdrop-filter: blur(16px); }
body.flaw-legal-site .flaw-site-header__inner { width: var(--flaw-shell); min-height: 88px; grid-template-columns: 210px minmax(0, 1fr) auto; gap: clamp(1.25rem, 3vw, 3.5rem); }
body.flaw-legal-site .flaw-site-header__brand { min-width: 0; }
body.flaw-legal-site .flaw-site-header__brand img { width: 190px; height: auto; }
body.flaw-legal-site .flaw-site-nav__list { justify-content: flex-end; gap: clamp(.9rem, 1.8vw, 2rem); }
body.flaw-legal-site .flaw-site-nav__list > li > a { position: relative; display: inline-flex; align-items: center; min-height: 3rem; color: var(--flaw-ink); font-size: .69rem; letter-spacing: .065em; line-height: 1.25; text-transform: none; white-space: nowrap; }
body.flaw-legal-site .flaw-site-nav__list > li > a::after { position: absolute; right: 0; bottom: .3rem; left: 0; height: 1px; background: var(--flaw-burgundy); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
body.flaw-legal-site .flaw-site-nav__list > li > a:hover::after, body.flaw-legal-site .flaw-site-nav__list > li > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
body.flaw-legal-site .flaw-site-nav__list ul.sub-menu { top: calc(100% + .45rem); border-top: 2px solid var(--flaw-burgundy); box-shadow: var(--flaw-shadow); }
body.flaw-legal-site .flaw-site-header__tools { gap: 1.1rem; }
body.flaw-legal-site .flaw-site-header__languages { gap: .65rem; }
body.flaw-legal-site .flaw-site-header__languages a { font-size: .66rem; letter-spacing: .04em; }
body.flaw-legal-site .flaw-site-header__cta { min-height: 3rem; padding-inline: 1.15rem; border: 1px solid var(--flaw-burgundy); background: var(--flaw-burgundy); font-size: .67rem; letter-spacing: .08em; transition: background .25s ease, color .25s ease, box-shadow .25s ease; }
body.flaw-legal-site .flaw-site-header__cta:hover, body.flaw-legal-site .flaw-site-header__cta:focus-visible { background: var(--flaw-burgundy-deep); box-shadow: 0 8px 20px rgba(66, 19, 34, .18); }

/* Full-bleed editorial canvas inside Flatsome's content wrapper. */
body.flaw-legal-site .flaw-editorial-home { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); overflow: clip; }
body.flaw-legal-site .flaw-editorial-wrap { width: var(--flaw-shell); max-width: none; }
body.flaw-legal-site .flaw-editorial-hero { min-height: min(720px, calc(100vh - 88px)); background: var(--flaw-ink); }
body.flaw-legal-site .flaw-editorial-hero__wash { left: 58%; background: linear-gradient(140deg, var(--flaw-burgundy), var(--flaw-burgundy-deep)); clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%); }
body.flaw-legal-site .flaw-editorial-hero__grid { width: var(--flaw-shell); grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .72fr); gap: clamp(3rem, 8vw, 9rem); padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(3rem, 6vw, 5.5rem); }
body.flaw-legal-site .flaw-editorial-kicker { color: var(--flaw-gold-light); font-size: .66rem; letter-spacing: .24em; }
body.flaw-legal-site .flaw-editorial-hero h1 { max-width: 11ch; font-size: clamp(3.4rem, 7.2vw, 7.4rem); letter-spacing: -.07em; line-height: .9; }
body.flaw-legal-site .flaw-editorial-hero__lead { max-width: 54ch; color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.25vw, 1.16rem); line-height: 1.72; }
body.flaw-legal-site .flaw-editorial-actions { gap: .65rem; }
body.flaw-legal-site .flaw-editorial-button { min-height: 3.25rem; padding-inline: 1.35rem; border-radius: var(--flaw-radius); font-size: .66rem; letter-spacing: .12em; }
body.flaw-legal-site .flaw-editorial-button--solid { background: var(--flaw-gold); color: var(--flaw-ink); }
body.flaw-legal-site .flaw-editorial-button--solid:hover, body.flaw-legal-site .flaw-editorial-button--solid:focus-visible { background: #FFFFFF; color: var(--flaw-ink); }
body.flaw-legal-site .flaw-editorial-hero__statement { max-width: 23rem; padding-left: 1.8rem; }
body.flaw-legal-site .flaw-editorial-hero__statement > span { color: rgba(255,255,255,.22); font-size: clamp(3.8rem, 5vw, 5.8rem); }
body.flaw-legal-site .flaw-editorial-hero__statement p { color: rgba(255,255,255,.84); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.25; }

/* More deliberate rhythm and premium card treatment across the homepage. */
body.flaw-legal-site .flaw-editorial-intro { background: var(--flaw-ivory-2); }
body.flaw-legal-site .flaw-editorial-intro__text { max-width: 15ch; padding: clamp(4.5rem, 8vw, 7rem) 0; font-size: clamp(2.6rem, 4.4vw, 5rem); line-height: .98; }
body.flaw-legal-site .flaw-editorial-section { padding: clamp(5rem, 8vw, 8rem) 0; }
body.flaw-legal-site .flaw-editorial-section__head { max-width: 980px; margin-bottom: 3.8rem; }
body.flaw-legal-site .flaw-editorial-section h2, body.flaw-legal-site .flaw-editorial-final h2 { max-width: 12ch; font-size: clamp(2.7rem, 5.2vw, 6rem); letter-spacing: -.065em; line-height: .93; }
body.flaw-legal-site .flaw-editorial-audience-grid { gap: 1px; background: var(--flaw-line); }
body.flaw-legal-site .flaw-editorial-audience { min-height: 13rem; background: rgba(255,255,255,.2); padding: 1.8rem; transition: background .25s ease, transform .25s ease; }
body.flaw-legal-site .flaw-editorial-audience:hover, body.flaw-legal-site .flaw-editorial-audience:focus-visible { background: var(--flaw-burgundy); transform: translateY(-3px); }
body.flaw-legal-site .flaw-editorial-audience h3 { font-size: clamp(1.45rem, 2.2vw, 2.35rem); }
body.flaw-legal-site .flaw-editorial-practice-list { border-top-color: var(--flaw-line); }
body.flaw-legal-site .flaw-editorial-practice { min-height: 7rem; align-items: center; padding-block: 1.6rem; border-bottom-color: var(--flaw-line); transition: background .25s ease, padding .25s ease, color .25s ease; }
body.flaw-legal-site .flaw-editorial-practice:hover, body.flaw-legal-site .flaw-editorial-practice:focus-visible { padding-inline: 1.25rem; background: var(--flaw-burgundy); }
body.flaw-legal-site .flaw-editorial-practice h3 { font-size: clamp(1.65rem, 2.8vw, 3rem); }
body.flaw-legal-site .flaw-editorial-split { gap: clamp(3rem, 10vw, 10rem); }
body.flaw-legal-site .flaw-editorial-section--dark { background: var(--flaw-ink); }
body.flaw-legal-site .flaw-editorial-industry-grid span { padding-block: .95rem 1.15rem; border-top-color: var(--flaw-line-light); color: rgba(255,255,255,.86); }
body.flaw-legal-site .flaw-editorial-journal-grid { gap: 1px; background: var(--flaw-line); }
body.flaw-legal-site .flaw-editorial-story { background: #FDFCFA; transition: background .25s ease, color .25s ease; }
body.flaw-legal-site .flaw-editorial-story:hover { background: var(--flaw-ivory-3); }
body.flaw-legal-site .flaw-editorial-story h3 { font-size: clamp(1.7rem, 3vw, 3.4rem); }
body.flaw-legal-site .flaw-editorial-final { background: linear-gradient(135deg, var(--flaw-burgundy), var(--flaw-burgundy-deep)); }

/* Shared premium treatment for Flatsome content templates. */
body.flaw-legal-site .entry-header, body.flaw-legal-site .page-title { max-width: 1380px; margin-inline: auto; border-bottom: 1px solid var(--flaw-line); padding-block: clamp(3rem, 7vw, 6rem) 2rem; }
body.flaw-legal-site .entry-title, body.flaw-legal-site .page-title h1 { max-width: 12ch; color: var(--flaw-ink); font-size: clamp(2.8rem, 6vw, 6.5rem); line-height: .94; }
body.flaw-legal-site .entry-content { max-width: 74ch; margin-inline: auto; color: var(--flaw-ink-soft); font-size: 1.06rem; line-height: 1.85; }
body.flaw-legal-site .entry-content h2 { margin-top: 3.3rem; color: var(--flaw-ink); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; }
body.flaw-legal-site .entry-content h3 { margin-top: 2.2rem; color: var(--flaw-ink); font-size: clamp(1.35rem, 2vw, 2rem); }
body.flaw-legal-site .entry-content blockquote { margin: 2.5rem 0; border-left: 2px solid var(--flaw-gold); background: var(--flaw-ivory-2); padding: 1.4rem 1.6rem; color: var(--flaw-ink); }
body.flaw-legal-site .entry-content img { border-radius: var(--flaw-radius); box-shadow: 0 18px 42px rgba(23,22,21,.1); }
body.flaw-legal-site .flaw-footer-contact { background: var(--flaw-ink); }
body.flaw-legal-site input, body.flaw-legal-site textarea, body.flaw-legal-site select { border-color: rgba(23,22,21,.22); border-radius: var(--flaw-radius); }
body.flaw-legal-site input:focus, body.flaw-legal-site textarea:focus, body.flaw-legal-site select:focus { border-color: var(--flaw-burgundy); box-shadow: 0 0 0 3px rgba(102,31,52,.12); }
body.flaw-legal-site .button, body.flaw-legal-site button, body.flaw-legal-site input[type="submit"] { border-radius: var(--flaw-radius); }

@media (max-width: 1100px) {
  :root { --flaw-shell: min(100% - 3rem, 1380px); }
  body.flaw-legal-site .flaw-site-header__inner { grid-template-columns: 190px minmax(0, 1fr) auto; gap: 1.2rem; }
  body.flaw-legal-site .flaw-site-nav__list { gap: .75rem; }
  body.flaw-legal-site .flaw-site-nav__list > li > a { font-size: .64rem; }
}
@media (max-width: 1000px) {
  body.flaw-legal-site .flaw-site-header { position: relative; }
  body.flaw-legal-site .flaw-site-header__inner { grid-template-columns: auto auto; min-height: 78px; }
  body.flaw-legal-site .flaw-site-header__brand img { width: 176px; }
  body.flaw-legal-site .flaw-site-nav { top: 100%; padding: 1rem 1.5rem 1.5rem; border-bottom: 1px solid var(--flaw-line); box-shadow: var(--flaw-shadow); }
  body.flaw-legal-site .flaw-site-nav__list > li > a { min-height: 2.9rem; font-size: .72rem; }
  body.flaw-legal-site .flaw-site-nav__list > li > a::after { bottom: .15rem; }
  body.flaw-legal-site .flaw-editorial-hero__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  body.flaw-legal-site .flaw-editorial-hero__statement { max-width: 31rem; }
}
@media (max-width: 600px) {
  :root { --flaw-shell: calc(100% - 2rem); }
  body.flaw-legal-site .flaw-site-header__inner { width: var(--flaw-shell); min-height: 70px; }
  body.flaw-legal-site .flaw-site-header__brand img { width: 156px; }
  body.flaw-legal-site .flaw-site-nav { padding-inline: 1rem; }
  body.flaw-legal-site .flaw-editorial-hero { min-height: auto; }
  body.flaw-legal-site .flaw-editorial-hero__wash { inset: 47% 0 0; clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 100%); }
  body.flaw-legal-site .flaw-editorial-hero__grid { width: var(--flaw-shell); gap: 3rem; padding: 3.7rem 0 3.2rem; }
  body.flaw-legal-site .flaw-editorial-hero h1 { max-width: 13ch; font-size: clamp(2.75rem, 14vw, 4.35rem); line-height: .91; }
  body.flaw-legal-site .flaw-editorial-hero__lead { max-width: 34ch; font-size: .98rem; line-height: 1.68; }
  body.flaw-legal-site .flaw-editorial-actions { flex-direction: row; align-items: stretch; }
  body.flaw-legal-site .flaw-editorial-button { flex: 1 1 100%; width: auto; }
  body.flaw-legal-site .flaw-editorial-hero__statement { max-width: 28rem; padding-left: 1.2rem; }
  body.flaw-legal-site .flaw-editorial-hero__statement > span { margin-bottom: 2rem; font-size: 4rem; }
  body.flaw-legal-site .flaw-editorial-hero__statement p { font-size: 1.25rem; }
  body.flaw-legal-site .flaw-editorial-intro__text { max-width: 14ch; font-size: clamp(2.35rem, 12vw, 3.8rem); }
  body.flaw-legal-site .flaw-editorial-section { padding-block: 4.2rem; }
  body.flaw-legal-site .flaw-editorial-section h2, body.flaw-legal-site .flaw-editorial-final h2 { max-width: 13ch; font-size: clamp(2.25rem, 12vw, 3.35rem); }
  body.flaw-legal-site .flaw-editorial-audience { min-height: 0; padding: 1.35rem; }
  body.flaw-legal-site .flaw-editorial-practice { min-height: 0; padding-block: 1.25rem; }
  body.flaw-legal-site .entry-header, body.flaw-legal-site .page-title { padding-block: 3.5rem 1.5rem; }
  body.flaw-legal-site .entry-title, body.flaw-legal-site .page-title h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  body.flaw-legal-site .entry-content { font-size: 1rem; line-height: 1.78; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.flaw-legal-site *, body.flaw-legal-site *::before, body.flaw-legal-site *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Journal and People templates: same premium system, still using Flatsome child templates. */
body.flaw-legal-site .flaw-article-shell, body.flaw-legal-site .flaw-journal-archive { background: var(--flaw-ivory); }
body.flaw-legal-site .flaw-article-wrap, body.flaw-legal-site .flaw-journal-archive > .flaw-editorial-wrap { width: var(--flaw-shell); }
body.flaw-legal-site .flaw-article-breadcrumbs { margin-bottom: clamp(2.5rem, 5vw, 4.5rem); color: var(--flaw-burgundy); letter-spacing: .15em; }
body.flaw-legal-site .flaw-article-header, body.flaw-legal-site .flaw-journal-archive__header { max-width: 1040px; border-bottom-color: var(--flaw-line); }
body.flaw-legal-site .flaw-article-header h1, body.flaw-legal-site .flaw-journal-archive__header h1 { max-width: 11ch; font-size: clamp(3rem, 6.4vw, 7rem); line-height: .93; }
body.flaw-legal-site .flaw-article-featured { border-radius: var(--flaw-radius); box-shadow: var(--flaw-shadow); }
body.flaw-legal-site .flaw-article-layout { grid-template-columns: 13rem minmax(0, 720px); }
body.flaw-legal-site .flaw-article-aside { border-top-color: var(--flaw-gold); color: var(--flaw-burgundy); }
body.flaw-legal-site .flaw-article-content { color: var(--flaw-ink-soft); }
body.flaw-legal-site .flaw-article-content h2 { color: var(--flaw-ink); font-size: clamp(2rem, 4vw, 3.35rem); }
body.flaw-legal-site .flaw-article-content blockquote { border-left-color: var(--flaw-gold); background: var(--flaw-ivory-2); }
body.flaw-legal-site .flaw-journal-grid, body.flaw-legal-site .flaw-lawyer-grid { gap: 1px; background: var(--flaw-line); }
body.flaw-legal-site .flaw-journal-card, body.flaw-legal-site .flaw-lawyer-card { background: #FDFCFA; transition: background .25s ease, transform .25s ease; }
body.flaw-legal-site .flaw-journal-card:hover, body.flaw-legal-site .flaw-lawyer-card:hover { background: var(--flaw-ivory-2); transform: translateY(-3px); }
body.flaw-legal-site .flaw-journal-card__media, body.flaw-legal-site .flaw-lawyer-card__portrait { background: var(--flaw-ivory-2); }
body.flaw-legal-site .flaw-journal-card__body, body.flaw-legal-site .flaw-lawyer-card__body { padding: clamp(1.5rem, 3vw, 2.8rem); }
body.flaw-legal-site .flaw-journal-card__body h2, body.flaw-legal-site .flaw-lawyer-card h2 { font-size: clamp(1.7rem, 3vw, 3.25rem); }
body.flaw-legal-site .flaw-lawyer-archive__header h1, body.flaw-legal-site .flaw-lawyer-profile h1 { font-size: clamp(3rem, 6.4vw, 7rem); line-height: .93; }
body.flaw-legal-site .flaw-lawyer-card__portrait img { filter: saturate(.72) contrast(1.02); }
body.flaw-legal-site .flaw-lawyer-profile__portrait { top: 7rem; border-radius: var(--flaw-radius); box-shadow: var(--flaw-shadow); }
body.flaw-legal-site .flaw-lawyer-profile__body { color: var(--flaw-ink-soft); }
@media (max-width: 800px) {
  body.flaw-legal-site .flaw-article-layout { grid-template-columns: 1fr; }
  body.flaw-legal-site .flaw-lawyer-profile__portrait { top: auto; }
}

/* Footer CTA refinement — shared across VN / EN / ZH */
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer {
  margin-top: .55rem;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  background: var(--flaw-ivory);
  border: 1px solid var(--flaw-ivory-3);
  color: var(--flaw-ink);
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer form,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer p {
  margin: 0;
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer br { display: none; }
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer label {
  display: block;
  margin: 0 0 1rem;
  color: var(--flaw-ink-2);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.35;
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input:not([type="submit"]),
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer textarea,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer select {
  width: 100%;
  min-height: 2.75rem;
  margin-top: .42rem;
  padding: .7rem .8rem;
  border: 1px solid var(--flaw-ivory-3);
  border-radius: var(--flaw-radius);
  background: #fff;
  color: var(--flaw-ink);
  font: inherit;
  font-size: .88rem;
  line-height: 1.35;
  box-shadow: none;
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer textarea { min-height: 6.4rem; resize: vertical; }
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input:not([type="submit"]):focus,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer textarea:focus,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer select:focus {
  border-color: var(--flaw-burgundy);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(102, 31, 52, .12);
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input[type="submit"] {
  display: inline-flex;
  min-height: 2.85rem;
  align-items: center;
  justify-content: center;
  margin-top: .35rem;
  padding: .72rem 1.15rem;
  border: 1px solid var(--flaw-burgundy);
  border-radius: var(--flaw-radius);
  background: var(--flaw-burgundy);
  color: #fff;
  font: inherit;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input[type="submit"]:hover,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input[type="submit"]:focus-visible {
  border-color: var(--flaw-burgundy-deep);
  background: var(--flaw-burgundy-deep);
  color: #fff;
  transform: translateY(-1px);
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer .wpcf7-not-valid-tip,
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer .wpcf7-response-output {
  color: var(--flaw-burgundy);
  font-size: .76rem;
  line-height: 1.5;
}
body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: .8rem;
  border: 1px solid var(--flaw-ivory-3);
}
body.flaw-legal-site .footer-widgets .widget_text#text-19 { min-width: 0; }
body.flaw-legal-site .footer-widgets .widget_text#text-19 > .widget-title,
body.flaw-legal-site .footer-widgets .widget_text#text-19 > h3 {
  margin-bottom: .9rem;
  color: var(--flaw-burgundy);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box {
  border: 1px solid var(--flaw-ivory-3);
  box-shadow: 0 18px 42px rgba(23, 22, 21, .1);
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 label {
  color: var(--flaw-ink-2);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .03em;
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 input:not([type="checkbox"]):not([type="radio"]),
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 textarea,
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 select {
  min-height: 2.85rem;
  padding: .72rem .8rem;
  border: 1px solid var(--flaw-ivory-3);
  background: #fff;
  color: var(--flaw-ink);
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 textarea { min-height: 7rem; }
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 input:focus,
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 textarea:focus,
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 select:focus {
  border-color: var(--flaw-burgundy);
  box-shadow: 0 0 0 3px rgba(102, 31, 52, .12);
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 input[type="submit"] {
  min-height: 3rem;
  padding-inline: 1.25rem;
  border: 1px solid var(--flaw-burgundy);
  border-radius: var(--flaw-radius);
  background: var(--flaw-burgundy);
  color: #fff;
  font: inherit;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 input[type="submit"]:hover,
body.flaw-legal-site .jpv-contact-page .jpv-ml-form-box .jpv-ml-cf7 input[type="submit"]:focus-visible {
  background: var(--flaw-burgundy-deep);
  color: #fff;
}
@media (max-width: 849px) {
  body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer { padding: 1.2rem; }
  body.flaw-legal-site .footer-widgets .jpv-cf7-form--footer input[type="submit"] { width: 100%; }
}
