@font-face {
  font-family:Cormorant;
  src:url('/asset?name=fonts/cormorant.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:Cormorant;
  src:url('/asset?name=fonts/cormorant-italic.woff2') format('woff2');
  font-weight:500;
  font-style:italic;
  font-display:swap;
}
@font-face {
  font-family:DM;
  src:url('/asset?name=fonts/dm-sans.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
}
:root {
  --ink:#34212d;
  --wine:#491e34;
  --deep:#25131f;
  --paper:#faf5ee;
  --muted:#715e67;
  --line:#decfd0;
  --rose:#edb4b4;
  --copper:#a9644e;
  --serif:Cormorant,Georgia,serif;
  --sans:DM,Arial,sans-serif;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:15px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-underline-offset:5px;
}
button,input,select {
  font:inherit;
}
a,button,input,select {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid #b77242;
  outline-offset:5px;
}
img {
  max-width:100%;
  display:block;
}
button {
  cursor:pointer;
}
.wrap {
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto;
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:500;
}
h1 {
  font-size:92px;
  line-height:.98;
  letter-spacing:-2px;
}
h2 {
  font-size:57px;
  line-height:1.02;
  letter-spacing:-1.3px;
  margin-bottom:24px;
}
h3 {
  font-size:37px;
  line-height:1.1;
  margin:20px 0 14px;
}
em {
  font-weight:500;
  color:#8f3d56;
}
p {
  color:var(--muted);
}
.eyebrow {
  font:600 11px/1.5 var(--sans);
  letter-spacing:1.8px;
  text-transform:uppercase;
  margin-bottom:20px;
}
.preview {
  background:#35202e;
  color:#f4ddd9;
  text-align:center;
  padding:7px 14px;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.1px;
}
.preview>span {
  margin:0 8px;
}
.header {
  height:86px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
.wordmark {
  display:flex;
  align-items:center;
  gap:15px;
  text-decoration:none;
  font:500 27px var(--serif);
  white-space:nowrap;
}
.mark {
  font:italic 48px/.8 var(--serif);
  letter-spacing:-15px;
  padding-right:16px;
}
.mark span {
  color:#a45761;
}
.dot {
  color:#ab5163;
}
.header nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:12px;
}
.header nav>a {
  text-decoration:none;
}
.header nav>a:hover {
  text-decoration:underline;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:var(--wine);
  border:1px solid var(--wine);
  color:#fff5ef;
  padding:16px 24px;
  min-height:52px;
  text-decoration:none;
  font:600 13px/1.4 var(--sans);
  border-radius:3px;
  transition:background .18s,transform .18s;
}
.button:hover {
  background:#692f48;
  transform:translateY(-1px);
}
.button.small {
  padding:11px 18px;
  min-height:42px;
  font-size:12px;
}
.button.rose {
  background:var(--rose);
  color:#331523;
  border-color:var(--rose);
}
.button.rose:hover {
  background:#f5cccc;
}
.button.ghost {
  background:#25131f55;
  border-color:#b9a4a8;
  color:#fff5ef;
}
.button.ghost:hover {
  background:#491e34;
}
.hero {
  position:relative;
  min-height:670px;
  background:var(--deep);
  isolation:isolate;
  overflow:hidden;
  color:#fff5ef;
}
.hero-art,.hero-art img,.hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-art {
  z-index:-3;
}
.hero-art img {
  object-fit:cover;
  object-position:50% 45%;
}
.hero-shade {
  z-index:-2;
  background:linear-gradient(90deg,rgba(30,13,24,.97) 0%,rgba(30,13,24,.90) 23%,rgba(30,13,24,.7) 39%,rgba(30,13,24,.16) 64%,rgba(30,13,24,.03) 100%),linear-gradient(0deg,rgba(30,13,24,.6),transparent 35%);
}
.hero-content {
  min-height:670px;
  display:flex;
  align-items:center;
  padding-block:60px 80px;
}
.hero-copy {
  width:590px;
  max-width:53%;
}
.hero .eyebrow {
  font-size:10px;
  color:#f3c7c3;
  letter-spacing:2px;
  margin-bottom:25px;
}
.hero h1 {
  margin:0 0 27px;
  font-size:100px;
}
.hero h1 em {
  color:#e5b0ae;
}
.hero p {
  color:#eddddf;
  max-width:415px;
  font-size:16px;
  line-height:1.8;
}
.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:28px 0 22px;
}
.reassurance {
  display:flex;
  gap:22px;
  color:#e6d0d3;
  font-size:11px;
}
.reassurance span+span:before {
  content:'·';
  margin-right:22px;
}
.photo-credit {
  position:absolute;
  bottom:20px;
  right:32px;
  font-size:10px;
  color:#f4e6e4;
  background:#25131fbb;
  padding:4px 9px;
  border-radius:2px;
}
.hero-number {
  position:absolute;
  bottom:25px;
  left:max(48px,calc((100vw - 1240px)/2));
  font-size:9px;
  letter-spacing:2px;
  color:#d0a1a7;
}
.principles {
  border-bottom:1px solid var(--line);
  background:#f1e6df;
}
.principles>.wrap {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-block:22px;
  font-size:12px;
}
.principles span:before { content: none; }
.principles a {
  text-decoration:none;
}
.principles a:hover {
  text-decoration:underline;
}
.section {
  padding-block:82px;
}
.section-heading {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:95px;
  align-items:end;
  margin-bottom:38px;
}
.section-heading h2 {
  margin:0;
}
.section-heading p {
  max-width:425px;
  margin-bottom:14px;
}
.text-link {
  font-size:13px;
  font-weight:600;
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.provider-card {
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-top:3px solid #703349;
  background:#fffbf6;
  border-radius:3px;
  padding:29px;
  transition:box-shadow .2s,transform .2s;
}
.provider-card:hover {
  box-shadow:0 12px 30px #491e340c;
  transform:translateY(-3px);
}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.card-top .eyebrow {
  font-size:9px;
  letter-spacing:1px;
  margin:0;
  color:#795764;
}
.brand-symbol {
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  font:italic 39px var(--serif);
  border-radius:50%;
  overflow:hidden;
}
.peach {
  background:#f3dcd0;
  color:#7b3c39;
}
.sage {
  background:#e8ced9;
  color:#612842;
}
.lilac {
  background:#e0d6e4;
  color:#51314f;
}
.provider-card p {
  font-size:13px;
  line-height:1.85;
  flex:1;
}
.tags {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:8px 0 23px;
}
.tags span {
  font-size:10px;
  padding:4px 9px;
  background:#f1e7e5;
  border-radius:2px;
  color:#663f4b;
}
.card-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:19px;
  text-decoration:none;
  font-weight:600;
  font-size:12px;
}
.card-link>span {
  font-size:21px;
  font-weight:400;
}
.card-link:hover {
  color:#953d55;
}
.muted {
  color:var(--muted);
}
.smallprint {
  font-size:11px;
  line-height:1.7;
  margin:18px 0 0;
}
.choice-banner {
  background:var(--wine);
  color:#fff4e9;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:53px 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
.choice-banner h2 {
  font-size:54px;
}
.choice-banner em {
  color:var(--rose);
}
.choice-banner p {
  color:#ebd3d7;
  font-size:14px;
  margin:0;
}
.choice-banner .eyebrow {
  color:#edb9b8;
}
.banner-orbit {
  font:italic 420px/.7 var(--serif);
  position:absolute;
  right:4%;
  top:14px;
  color:#683249;
  z-index:-1;
}
.steps {
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr 1fr;
  gap:38px;
}
.steps h2 {
  font-size:42px;
}
.step-number {
  font:500 39px var(--serif);
  color:#9a5a62;
}
.steps h3 {
  font:600 14px var(--sans);
  margin:18px 0 13px;
}
.steps p {
  font-size:13px;
}
.steps>div:not(:first-child) {
  border-top:1px solid #cba7ad;
  padding-top:16px;
}
footer {
  background:var(--deep);
  color:#f8e8e5;
  padding:56px 0 22px;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:50px;
  font-size:12px;
}
.footer-brand {
  font:500 35px var(--serif);
  text-decoration:none;
}
.footer-grid p {
  color:#cbb5bf;
  margin-top:16px;
  font-size:13px;
}
.footer-grid strong {
  display:block;
  margin-bottom:16px;
  font-weight:500;
  color:#e8b7ba;
}
.footer-grid>div>a:not(.footer-brand) {
  display:block;
  margin:8px 0;
  text-decoration:none;
}
.footer-grid a:hover {
  text-decoration:underline;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #533447;
  margin-top:36px;
  padding-top:20px;
  font-size:10px;
  color:#ceb5bf;
}
.page-title {
  font-size:72px;
  margin:0 0 25px;
  letter-spacing:-1.8px;
}
.intro {
  font-size:17px;
  max-width:680px;
}
.page-intro {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  align-items:end;
  gap:70px;
  padding-bottom:10px;
}
.page-intro .intro {
  max-width:390px;
  margin-bottom:29px;
}
.filters {
  display:flex;
  gap:22px;
  align-items:end;
  background:var(--wine);
  padding:26px 30px;
  color:#faede9;
  margin:28px 0 28px;
  border-radius:3px;
}
.filters label {
  flex:1;
  font-size:12px;
  color:#f1d4d8;
}
select {
  width:100%;
  display:block;
  margin-top:8px;
  min-height:48px;
  padding:10px 14px;
  border:1px solid #ccb4bd;
  background:#fff9f4;
  color:var(--ink);
  border-radius:2px;
}
.filters .button {
  background:var(--rose);
  border-color:var(--rose);
  color:#391625;
  min-height:48px;
}
.filters>a {
  font-size:12px;
  white-space:nowrap;
  margin-bottom:12px;
  padding:4px;
}
.result-count {
  font-size:12px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  margin-bottom:28px;
}
.result-note {
  border-left:3px solid #9b4d64;
  background:#f0e1df;
  padding:25px 30px;
  margin:30px 0;
}
.result-note .eyebrow {
  margin-bottom:10px;
}
.result-note h2 {
  font-size:35px;
  margin-bottom:12px;
}
.result-note p {
  font-size:13px;
  margin-bottom:12px;
  max-width:780px;
}
.result-note a {
  font-size:12px;
  font-weight:600;
}
.match-reasons {
  background:#f3e6e6;
  border-radius:2px;
  padding:13px;
  margin-bottom:20px;
  font-size:11px;
  color:#62344a;
}
.match-reasons strong {
  font-weight:600;
}
.match-reasons ul {
  padding-left:15px;
  margin:7px 0 0;
}
.match-reasons li {
  margin:4px 0;
}
.empty,.notice {
  border-left:3px solid #a46060;
  background:#f0e3df;
  padding:20px 24px;
  border-radius:2px;
}
.empty {
  padding:32px;
}
.empty h2 {
  font-size:38px;
}
.notice {
  font-size:12px;
  line-height:1.7;
}
.notice strong {
  color:var(--wine);
}
.notice h2 {
  font-size:35px;
}
.narrow {
  max-width:820px;
}
.quiz-layout {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:90px;
  align-items:start;
}
.quiz-aside .page-title {
  font-size:79px;
}
.quiz-aside>.intro {
  max-width:380px;
  font-size:20px;
}
.quiz-aside>p:not(.intro) {
  max-width:390px;
  font-size:14px;
}
.quiz-promise {
  border-top:1px solid var(--line);
  padding-top:22px;
  font-size:12px;
  margin:28px 0;
  position:relative;
  padding-left:36px;
}
.quiz-promise>span {
  position:absolute;
  left:0;
  color:#9b4d64;
  font-size:24px;
}
.quiz-photo {
  margin:34px 0 0;
  max-width:380px;
}
.quiz-photo img {
  width:100%;
  height:220px;
  object-fit:cover;
  object-position:75% 40%;
  border-radius:3px;
}
.quiz-photo figcaption {
  font-size:9px;
  color:var(--muted);
  margin-top:8px;
}
.quiz-panel {
  padding:30px;
  background:#fffaf5;
  border:1px solid var(--line);
  border-top:3px solid var(--wine);
  border-radius:3px;
}
.quiz-panel .notice {
  margin:0 0 26px;
  padding:13px 16px;
  font-size:11px;
}
.quiz fieldset {
  border:0;
  margin:0 0 28px;
  padding:0;
  min-width:0;
}
.quiz legend {
  font-size:14px;
  line-height:1.5;
  font-weight:600;
  margin-bottom:7px;
  padding:0;
}
.quiz legend>span {
  font:500 26px var(--serif);
  color:#97465d;
  margin-right:12px;
}
.question-help {
  font-size:11px;
  margin:0 0 16px;
}
.radio {
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px;
  border:1px solid #d7c3c9;
  background:#fffaf5;
  border-radius:3px;
  margin-bottom:9px;
  cursor:pointer;
  font-size:12px;
  min-height:55px;
}
.radio:hover {
  border-color:#a57989;
}
.radio:has(input:checked) {
  background:#f0dde2;
  border-color:#80465e;
}
.radio-arrow {
  margin-left:auto;
  color:#72304f;
  font-size:18px;
}
.radio input {
  accent-color:var(--wine);
  width:17px;
  height:17px;
  flex:0 0 auto;
  margin:0;
}
.quiz>.button {
  width:100%;
  justify-content:space-between;
}
.quiz .smallprint {
  text-align:center;
  font-size:10px;
}
.detail-page>.eyebrow {
  margin-top:32px;
}
.detail-page .page-title {
  font-size:90px;
}
.detail-page .intro {
  font-size:21px;
}
.facts {
  margin:36px 0 46px;
  background:#fffaf6;
  border:1px solid var(--line);
  border-top:3px solid var(--wine);
  padding:5px 26px;
}
.facts>div {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  border-bottom:1px solid var(--line);
  padding:20px 0;
  gap:28px;
  font-size:13px;
}
.facts>div:last-child {
  border:0;
}
.facts dt {
  font-weight:600;
}
.facts dd {
  margin:0;
  color:var(--muted);
}
.detail-page h2 {
  font-size:48px;
}
.prose h2 {
  font-size:37px;
  margin-top:36px;
  margin-bottom:18px;
}
.prose p {
  font-size:15px;
}
.skip {
  position:absolute;
  top:-90px;
  left:15px;
  z-index:20;
  padding:10px;
  background:#fff5ee;
  color:var(--wine);
}
.skip:focus {
  top:10px;
}
.menu-toggle {
  display:none;
}
nav [aria-current=page] {
  border-bottom:1px solid #8f3d56;
}
@media(min-width:1600px) {
  .hero,.hero-content {
    min-height:730px;
  }
  .hero h1 {
    font-size:112px;
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px);
  }
  .header nav {
    gap:20px;
  }
  .hero h1 {
    font-size:83px;
  }
  .hero-copy {
    max-width:55%;
  }
  .hero-number {
    left:32px;
  }
  .section-heading {
    gap:50px;
  }
  .page-intro {
    gap:35px;
  }
  .page-title {
    font-size:64px;
  }
  .quiz-layout {
    gap:40px;
  }
  .quiz-aside .page-title {
    font-size:68px;
  }
  .provider-card {
    padding:22px;
  }
  .choice-banner {
    padding:44px;
  }
  .choice-banner h2 {
    font-size:48px;
  }
  .steps {
    gap:24px;
  }
  .steps h2 {
    font-size:35px;
  }
}
@media(max-width:800px) {
  .header nav {
    gap:14px;
    font-size:11px;
  }
  .wordmark {
    font-size:24px;
    gap:10px;
  }
  .header .button.small {
    font-size:11px;
    padding:10px 12px;
  }
  .hero-copy {
    max-width:61%;
  }
  .hero h1 {
    font-size:76px;
  }
  .hero p {
    font-size:15px;
  }
  .actions .button {
    font-size:12px;
    padding:14px 18px;
  }
  .hero-shade {
    background:linear-gradient(90deg,#1e0d18f5,#1e0d18c7 40%,#1e0d1820 85%);
  }
  .section-heading {
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  h2 {
    font-size:46px;
  }
  .cards {
    gap:14px;
  }
  .provider-card {
    padding:20px;
  }
  .card-top .eyebrow {
    font-size:8px;
  }
  .brand-symbol {
    width:45px;
    height:45px;
  }
  .filters {
    flex-wrap:wrap;
    gap:18px;
  }
  .filters label {
    min-width:200px;
  }
  .filters .button {
    flex:1;
  }
  .filters>a {
    margin-bottom:10px;
  }
  .steps {
    grid-template-columns:1fr 1fr;
    gap:34px;
  }
  .choice-banner {
    display:block;
  }
  .choice-banner>.button {
    margin-top:25px;
  }
  .page-intro {
    grid-template-columns:1fr;
  }
  .page-intro .intro {
    max-width:580px;
    margin-bottom:0;
  }
  .quiz-layout {
    gap:30px;
    grid-template-columns:.9fr 1.1fr;
  }
  .quiz-panel {
    padding:22px;
  }
  .quiz-aside .page-title {
    font-size:58px;
  }
  .quiz-aside>.intro {
    font-size:18px;
  }
}
@media(max-width:640px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .preview {
    font-size:10px;
    padding:7px 10px;
  }
  .preview>span {
    margin:0 3px;
  }
  .header {
    height:auto;
    min-height:68px;
    flex-wrap:wrap;
    gap:0;
    padding-block:15px;
  }
  .wordmark {
    font-size:25px;
    gap:12px;
  }
  .mark {
    font-size:39px;
    letter-spacing:-12px;
    padding-right:13px;
  }
  .menu-toggle {
    display:block;
    background:transparent;
    color:var(--wine);
    border:1px solid #cdb6bf;
    border-radius:2px;
    padding:7px 11px;
    font-size:11px;
    min-height:35px;
  }
  .header nav {
    display:none;
    width:100%;
    padding-top:22px;
    align-items:stretch;
    gap:18px;
    font-size:13px;
  }
  .header nav.open,html:not(.js) .header nav {
    display:flex;
    flex-direction:column;
  }
  html:not(.js) .menu-toggle {
    display:none;
  }
  .hero,.hero-content {
    min-height:700px;
  }
  .hero-art {
    height:370px;
  }
  .hero-art img {
    object-fit:cover;
    object-position:78% 37%;
  }
  .hero-shade {
    background:linear-gradient(0deg,#25131f 0%,#25131f 43%,rgba(37,19,31,.78) 53%,rgba(37,19,31,.06) 76%,rgba(37,19,31,.02) 100%);
  }
  .hero-content {
    align-items:flex-end;
    padding-top:300px;
    padding-bottom:60px;
  }
  .hero-copy {
    width:100%;
    max-width:100%;
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:1.5px;
    margin-bottom:15px;
  }
  .hero h1 {
    font-size:68px;
    letter-spacing:-1px;
    line-height:.92;
    margin-bottom:21px;
  }
  .hero h1 br {
    display:none;
  }
  .hero h1 em {
    white-space:nowrap;
  }
  .hero p {
    font-size:14px;
    line-height:1.75;
    max-width:350px;
    margin-bottom:0;
  }
  .actions {
    gap:10px;
    margin:23px 0 17px;
    flex-wrap:nowrap;
  }
  .actions .button {
    font-size:11px;
    padding:13px 14px;
    min-height:48px;
    gap:10px;
    flex:1;
    white-space:nowrap;
  }
  .reassurance {
    font-size:10px;
    gap:13px;
  }
  .reassurance span+span:before {
    margin-right:13px;
  }
  .hero-number {
    display:none;
  }
  .photo-credit {
    right:20px;
    bottom:16px;
    font-size:8px;
    padding:0;
    background:transparent;
    color:#c5aab7;
  }
  .principles>.wrap {
    flex-wrap:wrap;
    gap:9px 20px;
    padding-block:19px;
    font-size:10px;
  }
  .principles span:before {
    margin-right:6px;
  }
  .principles a {
    display:block;
    width:100%;
  }
  .section {
    padding-block:48px;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:23px;
    margin-bottom:28px;
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:1.3px;
    margin-bottom:15px;
  }
  h2 {
    font-size:45px;
    letter-spacing:-.7px;
  }
  .section-heading p {
    font-size:14px;
  }
  .cards {
    grid-template-columns:1fr;
    gap:19px;
  }
  .provider-card {
    padding:24px;
  }
  .brand-symbol {
    width:54px;
    height:54px;
  }
  .card-top .eyebrow {
    font-size:9px;
  }
  .provider-card h3 {
    font-size:38px;
  }
  .provider-card p {
    font-size:14px;
  }
  .tags span {
    font-size:11px;
  }
  .card-link {
    font-size:12px;
  }
  .smallprint {
    font-size:10px;
  }
  .choice-banner {
    width:100%;
    padding:40px 25px;
  }
  .choice-banner h2 {
    font-size:43px;
  }
  .choice-banner p {
    font-size:13px;
  }
  .banner-orbit {
    right:-80px;
    top:70px;
    font-size:360px;
  }
  .steps {
    grid-template-columns:1fr;
    gap:26px;
  }
  .steps h2 {
    font-size:43px;
    margin:0;
  }
  .steps>div:not(:first-child) {
    position:relative;
    padding-left:48px;
    padding-top:16px;
  }
  .step-number {
    position:absolute;
    left:0;
    top:12px;
    font-size:30px;
  }
  .steps h3 {
    margin:3px 0 10px;
  }
  .steps p {
    margin-bottom:0;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .footer-grid>div:first-child {
    grid-column:1/-1;
  }
  .footer-brand {
    font-size:35px;
  }
  .footer-bottom {
    flex-direction:column;
    gap:9px;
    font-size:9px;
  }
  .page-title {
    font-size:57px;
    letter-spacing:-1px;
  }
  .page-intro {
    gap:0;
  }
  .page-intro .intro {
    font-size:14px;
  }
  .filters {
    padding:21px;
    display:block;
    margin:26px 0;
  }
  .filters label {
    display:block;
    margin-bottom:18px;
    font-size:12px;
  }
  select {
    font-size:14px;
    min-height:48px;
  }
  .filters>.button {
    min-height:47px;
    font-size:12px;
  }
  .filters>a {
    display:inline-block;
    margin:0 0 0 18px;
  }
  .result-count {
    font-size:11px;
  }
  .result-note {
    padding:21px;
  }
  .result-note h2 {
    font-size:33px;
  }
  .quiz-layout {
    grid-template-columns:1fr;
    gap:26px;
  }
  .quiz-aside .page-title {
    font-size:61px;
    margin-bottom:20px;
  }
  .quiz-aside .page-title br {
    display:none;
  }
  .quiz-aside>.intro {
    font-size:17px;
    margin-bottom:14px;
  }
  .quiz-aside>p:not(.intro) {
    font-size:13px;
  }
  .quiz-promise {
    margin:19px 0 0;
    padding-top:16px;
    font-size:11px;
  }
  .quiz-photo {
    display:none;
  }
  .quiz-panel {
    padding:22px 18px;
  }
  .quiz-panel .notice {
    font-size:11px;
  }
  .quiz legend {
    font-size:13px;
  }
  .question-help {
    font-size:11px;
  }
  .radio {
    font-size:12px;
    padding:13px;
    gap:9px;
  }
  .quiz fieldset {
    margin-bottom:24px;
  }
  .detail-page .page-title {
    font-size:72px;
  }
  .detail-page .intro {
    font-size:19px;
  }
  .facts {
    padding:4px 20px;
    margin:30px 0;
  }
  .facts>div {
    grid-template-columns:1fr;
    gap:7px;
    padding:17px 0;
  }
  .detail-page h2 {
    font-size:43px;
  }
  .detail-page .button {
    width:100%;
    font-size:12px;
  }
  .notice {
    font-size:12px;
    padding:18px;
  }
  .prose .page-title {
    font-size:54px;
  }
  .prose h2 {
    font-size:35px;
  }
  .prose p {
    font-size:14px;
  }
}
@media(max-width:360px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .preview {
    font-size:9px;
  }
  .wordmark {
    font-size:22px;
    gap:10px;
  }
  .hero h1 {
    font-size:60px;
  }
  .hero .eyebrow {
    font-size:8px;
  }
  .actions {
    flex-wrap:wrap;
    gap:8px;
  }
  .actions .button {
    width:100%;
    flex:auto;
    min-height:44px;
  }
  .hero-content {
    padding-bottom:52px;
  }
  .hero,.hero-content {
    min-height:752px;
  }
  .hero-art {
    height:330px;
  }
  .hero-shade {
    background:linear-gradient(0deg,#25131f 0%,#25131f 54%,rgba(37,19,31,.8) 62%,rgba(37,19,31,.03) 83%);
  }
  .reassurance {
    font-size:9px;
  }
  .page-title {
    font-size:49px;
  }
  .quiz-aside .page-title {
    font-size:53px;
  }
  .quiz legend {
    font-size:12px;
  }
  .radio {
    font-size:11px;
  }
  .filters>a {
    margin-left:12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important;
  }
  .button:hover,.provider-card:hover {
    transform:none;
  }
}

/* Verified consumer comparisons */
.network-note{border-left:3px solid var(--rose,#b66b79);background:#f1e5e2;padding:24px 28px;margin:0 0 30px;max-width:100%;color:#342333}
.network-note strong{font-size:1.15rem}.network-note p{max-width:85ch;margin:10px 0}.network-note a{color:inherit}
.card-facts{border-top:1px solid #dccbc9;margin:6px 0 24px;padding-top:16px;font-size:.9rem}.card-facts>div{margin-bottom:16px}.card-facts dt{font-weight:700;margin-bottom:5px}.card-facts dd{margin:0;line-height:1.55}.fact-source{display:block;font-size:.74rem;line-height:1.5;margin-top:8px;color:#675362}.fact-source a{color:inherit}.facts dd{overflow-wrap:anywhere}
@media(max-width:640px){.network-note{padding:20px}.card-facts{font-size:.93rem}.fact-source{font-size:.78rem}}

.consumer-preview{margin:4px 0 24px;border-top:1px solid #dccbc9;border-bottom:1px solid #dccbc9}.consumer-preview summary{cursor:pointer;font-size:.88rem;font-weight:600;line-height:1.5;padding:18px 0;color:#512339}.consumer-preview summary:focus-visible{outline:2px solid #8a3d59;outline-offset:4px}.consumer-preview .card-facts{border-top:0;margin-bottom:0;padding-top:0}

/* Supplied white wordmark: retain the SVG's original 707:199 ratio. */
.site-header,footer{background:#351526;color:#fff9f7}
.site-header .header{height:108px}
.site-logo{display:block;width:340px;max-width:100%;height:auto}
.wordmark{flex-shrink:0}
.footer-brand{display:inline-block;max-width:100%}
.site-header nav>a{color:#fff9f7}
.site-header nav>a.button{background:#edb6c0;color:#351526}
.site-header .menu-toggle{color:#fff9f7;border-color:#b98091}
.site-header a:focus-visible,footer a:focus-visible{outline:2px solid #edb6c0;outline-offset:5px}
@media(max-width:1000px){.wordmark .site-logo{width:280px}}
@media(max-width:640px){
 .site-header .header{height:auto;min-height:88px;padding-block:10px;column-gap:12px}
 .wordmark .site-logo{width:min(240px,calc(100vw - 112px))}
 .footer-brand .site-logo{width:300px}
}

/* Editorial reading experience */
.article-page{max-width:900px}.article-page .page-title{font-size:62px;line-height:1.06}.article-page p,.article-page li{font-size:16px;line-height:1.85}.article-page section{margin-top:42px;scroll-margin-top:24px}.article-page h2{font-size:36px;line-height:1.15}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:30px}.article-page .article-byline{font-size:12px;color:#715565;margin:22px 0}.article-toc{padding:22px 28px;background:#f0e5e2;border-left:3px solid #98455e;margin:25px 0 32px}.article-toc ol{margin-bottom:0}.article-callout,.related-reading{padding:25px;background:#f0e5e2;margin:30px 0;border-top:2px solid #98455e}.article-callout p:last-child{margin-bottom:0}.related-reading h2{font-size:30px}.related-reading li{margin:8px 0}.source-date{font-size:.8em;color:#715565}.table-scroll{overflow-x:auto;margin:24px 0}.editorial-table{border-collapse:collapse;width:100%;font-size:15px}.editorial-table caption{text-align:left;margin-bottom:12px;font-size:12px}.editorial-table th,.editorial-table td{border-bottom:1px solid #dac5cb;padding:14px;text-align:left}.editorial-table thead{background:#351526;color:#fff9f7}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:35px 0}.reading-card{border-top:3px solid #98455e;background:#fffaf6;padding:26px}.reading-card h2{font-size:32px}.reading-shortcuts{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.reading-shortcuts>a{background:#f0e5e2;padding:20px;flex:1;min-width:180px;font-weight:600}.reading-shortcuts.compact>a{font-size:13px;padding:16px}.provider-reading-list{padding-left:22px}
@media(max-width:640px){.article-page .page-title{font-size:43px}.article-page h2{font-size:31px}.article-page p,.article-page li{font-size:15px}.article-toc,.related-reading,.article-callout{padding:20px}.reading-grid{grid-template-columns:1fr}.reading-shortcuts{gap:12px}.reading-shortcuts>a{flex-basis:100%}.editorial-table th,.editorial-table td{padding:10px 8px;font-size:13px}}

.detail-page .page-title{overflow-wrap:anywhere}.detail-page .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}


/* Quiet, visible disclosure beside each offer; never collapsed or muted. */
.affiliate-note,
.provider-card .affiliate-note {
  color: #4b3543;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 400;
  flex: none;
  margin: 18px 0;
}
.affiliate-note a {
  color: #642c44;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.affiliate-action .affiliate-note { max-width: 65ch; font-size: 16px; }
.affiliate-action { margin-top: 24px; }

/* Consolidated editorial sources, visually secondary but readable. */
.provider-sources { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.detail-page .provider-sources h2 { font-size: 30px; margin: 0 0 16px; }
.provider-sources p { font-size: 14px; line-height: 1.7; color: #4b3543; }
.provider-sources ul { list-style: none; margin: 24px 0; padding: 0; }
.provider-sources li { margin: 0 0 20px; }
.provider-sources li > a { font-size: 15px; font-weight: 600; color: #642c44; }
.provider-sources li p { margin: 5px 0; }
.source-review { white-space: normal; }
.provider-sources .source-update { font-size: 13px; }
.card-sources-link { display: inline-block; margin: 0 0 16px; font-size: 14px; }

/* Provider pages: compact introduction, real campaign creative at native scale. */
.provider-page { max-width: 1120px; padding-block: 26px 64px; }
.provider-back { display: inline-block; margin-bottom: 22px; font-size: 13px; }
.provider-hero { display: grid; grid-template-columns: minmax(0,1fr) 400px; gap: 56px; align-items: start; }
.provider-heading { display: flex; align-items: center; gap: 16px; }
.provider-logo { width: 64px; height: 64px; object-fit: contain; border-radius: 8px; flex: none; background: white; }
.provider-page .page-title { font-size: 46px; line-height: 1.12; letter-spacing: -.7px; margin: 0; overflow-wrap: anywhere; }
.provider-page .intro { font-size: 17px; line-height: 1.75; margin: 22px 0 18px; color: #4b3543; }
.provider-highlights { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 20px; }
.provider-highlights li { padding: 7px 12px; background: #efe2e2; color: #642c44; font-size: 13px; border-radius: 3px; }
.provider-page .affiliate-action { margin-top: 0; }
.provider-page .affiliate-note { font-size: 14px; margin: 0 0 14px; }
.provider-page .affiliate-note a { display: inline-block; }
.provider-page .button { font-size: 14px; padding: 16px 22px; }
.provider-jump { display: inline-block; font-size: 13px; margin-top: 16px; color: #642c44; }
.provider-campaign { margin: 0; width: 100%; max-width: 400px; justify-self: center; }
.campaign-label { font-size: 12px; color: #4b3543; margin: 0 0 10px; }
.provider-campaign a { display: block; }
.provider-campaign img { display: block; width: 100%; max-width: 500px; height: auto; }
.provider-campaign figcaption { font-size: 12px; line-height: 1.6; color: #4b3543; margin-top: 12px; }
.provider-brand-panel { background: #efe2e2; padding: 42px; text-align: center; }
.provider-brand-panel img { max-width: 160px; height: auto; }
.provider-brand-panel p { font: 30px var(--serif); }
.provider-information { margin-top: 48px; scroll-margin-top: 20px; }
.provider-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.provider-page .provider-section-heading h2 { font-size: 34px; margin: 0; }
.provider-section-heading a { font-size: 13px; }
.provider-information > p { font-size: 15px; max-width: 75ch; }
.provider-page .facts { margin: 24px 0; }
.provider-page .facts > div { grid-template-columns: 230px 1fr; font-size: 15px; line-height: 1.75; }
.provider-page .facts dd { color: #4b3543; }
.provider-page .related-reading h2 { font-size: 30px; }
.provider-page .provider-sources { max-width: 900px; }
@media(max-width: 900px) {
 .provider-hero { grid-template-columns: minmax(0,1fr) 300px; gap: 28px; }
 .provider-page .page-title { font-size: 40px; }
}
@media(max-width: 640px) {
 .provider-page { padding-top: 18px; }
 .provider-back { margin-bottom: 18px; }
 .provider-hero { grid-template-columns: 1fr; gap: 28px; }
 .provider-heading { gap: 12px; }
 .provider-logo { width: 48px; height: 48px; }
 .provider-page .page-title { font-size: 32px; letter-spacing: -.35px; }
 .provider-page .intro { font-size: 16px; line-height: 1.65; margin: 16px 0; }
 .provider-highlights { margin-bottom: 16px; }
 .provider-highlights li { font-size: 12px; padding: 6px 10px; }
 .provider-page .button { width: 100%; }
 .provider-information { margin-top: 36px; }
 .provider-section-heading { display: block; }
 .provider-page .provider-section-heading h2 { font-size: 30px; margin-bottom: 10px; }
 .provider-page .facts { padding-inline: 18px; }
 .provider-page .facts > div { grid-template-columns: 1fr; gap: 6px; font-size: 14px; }
}

/* Editorial comparison: Eerste Ontmoeting leads; the network note supports the choice. */
.compare-page { padding-block: 36px 64px; }
.compare-introduction { display: grid; grid-template-columns: 1fr 1.12fr; gap: 64px; align-items: start; }
.compare-introduction .eyebrow { margin: 0 0 14px; color: #824052; }
.compare-introduction .page-title { font-size: 48px; line-height: 1.08; letter-spacing: -.8px; margin: 0; }
.compare-welcome > p:first-child { font-size: 16px; line-height: 1.75; color: #4b3543; margin: 0 0 20px; }
.compare-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.compare-actions .button { font-size: 14px; padding: 14px 22px; }
.compare-actions > a:not(.button) { font-size: 14px; color: #642c44; }
.compare-welcome .compare-context { margin: 14px 0 0; font-size: 13px; color: #4b3543; }
.compare-navigation { display: flex; flex-wrap: wrap; gap: 12px 26px; padding: 20px 0; margin-top: 22px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.compare-navigation a { font-size: 14px; color: #642c44; }
.comparison-offers { scroll-margin-top: 20px; }
.compare-page .filters { background: transparent; color: var(--ink); padding: 0; margin: 22px 0; gap: 16px; max-width: 720px; display: flex; align-items: end; }
.compare-page .filters label { color: #4b3543; margin: 0; }
.compare-page .filters select { margin-top: 5px; }
.compare-page .filters .button { background: var(--wine); color: #fff9f4; border-color: var(--wine); font-size: 13px; }
.compare-page .filters > a { margin: 0 0 10px; color: #642c44; }
.selection-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 16px 0 10px; }
.selection-heading h2 { font-size: 32px; margin: 0; }
.compare-page .result-count { border: 0; padding: 0; margin: 0; color: #4b3543; }
.network-summary { font-size: 14px; line-height: 1.7; color: #4b3543; margin: 0 0 22px; max-width: 95ch; }
.network-summary a { color: #642c44; }
.compare-page .provider-card { border: 1px solid var(--line); border-top: 3px solid var(--wine); border-radius: 8px; padding: 24px; background: #fffbf6; }
.compare-page .card-top { flex-direction: row-reverse; }
.compare-page .card-top .eyebrow { font-size: 9px; letter-spacing: .8px; color: #642c44; }
.compare-page .brand-symbol { width: 44px; height: 44px; border-radius: 4px; background: white; }
.compare-page .provider-card h3 { font-size: 31px; line-height: 1.15; margin: 18px 0 8px; }
.compare-page .provider-card > p:not(.affiliate-note) { font-size: 14px; line-height: 1.75; color: #4b3543; }
.compare-page .card-link { color: #642c44; font-size: 14px; }
.compare-page .affiliate-note a { display: inline-block; }
@media(max-width: 900px) {
 .compare-introduction { gap: 28px; }
 .compare-introduction .page-title { font-size: 42px; }
}
@media(max-width: 640px) {
 .compare-page { padding-top: 24px; }
 .compare-introduction { grid-template-columns: 1fr; gap: 16px; }
 .compare-introduction .eyebrow { margin-bottom: 10px; font-size: 10px; }
 .compare-introduction .page-title { font-size: 36px; }
 .compare-welcome > p:first-child { font-size: 15px; line-height: 1.6; margin-bottom: 16px; }
 .compare-actions { gap: 14px; }
 .compare-actions .button { font-size: 13px; padding: 12px 16px; }
 .compare-actions > a:not(.button) { font-size: 12px; }
 .compare-welcome .compare-context { font-size: 12px; margin-top: 12px; }
 .compare-navigation { padding: 14px 0; margin-top: 18px; gap: 8px 18px; }
 .compare-navigation a { font-size: 12px; }
 .compare-page .filters { flex-wrap: wrap; gap: 10px; margin: 16px 0; }
 .compare-page .filters label { flex: 1; min-width: 135px; }
 .compare-page .filters > a { font-size: 11px; margin: 0 0 12px; }
 .compare-page .filters .button { font-size: 12px; padding-inline: 12px; }
 .selection-heading { gap: 10px; margin-top: 12px; }
 .selection-heading h2 { font-size: 27px; }
 .compare-page .result-count { font-size: 10px; }
 .network-summary { font-size: 13px; line-height: 1.6; margin-bottom: 18px; }
 .compare-page .provider-card { padding: 22px; }
}
@media(max-width:640px) {
 .compare-page .filters .button { flex: 0 0 auto; }
 .selection-heading h2 { white-space: nowrap; }
 .compare-page .result-count { text-align: right; }
}
@media(max-width:360px) {
 .compare-actions { gap: 12px; }
 .compare-actions .button { gap: 10px; padding-inline: 12px; font-size: 12px; }
 .compare-actions > a:not(.button) { font-size: 11px; }
 .compare-welcome .compare-context { font-size: 11px; }
 .compare-page .filters select { padding-inline: 9px; font-size: 13px; }
 .selection-heading h2 { font-size: 25px; }
}
.compare-page .provider-card .comparison-tip { flex: none; font-size: 13px; line-height: 1.7; margin: 0 0 18px; }
.compare-page .comparison-tip strong { color: #642c44; }

/* First Meeting magazine: original editorial imagery, not advertising creative. */
.magazine-provider { max-width: 1180px; }
.magazine-provider .provider-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: center; }
.magazine-provider .provider-copy > .eyebrow { font-size: 10px; margin: 0 0 16px; color: #824052; }
.magazine-photo { margin: 0; }
.magazine-photo img { width: 100%; height: 480px; object-fit: cover; object-position: 77% 50%; display: block; border-radius: 120px 3px 3px 3px; }
.magazine-photo figcaption { font-size: 11px; color: #715565; margin-top: 8px; }
.magazine-body { margin-top: 64px; scroll-margin-top: 24px; }
.magazine-chapter { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; padding: 36px 0; border-top: 1px solid var(--line); }
.chapter-number { font-size: 10px; letter-spacing: 1.4px; color: #824052; }
.magazine-provider .magazine-chapter h2 { font-size: 36px; line-height: 1.12; margin: 14px 0; }
.magazine-chapter p { font-size: 16px; line-height: 1.85; color: #4b3543; margin: 0 0 18px; }
.editorial-facts { margin: 0; }
.editorial-facts > div { margin: 0 0 24px; }
.editorial-facts dt { font-size: 15px; font-weight: 600; color: #491e34; margin-bottom: 8px; }
.editorial-facts dd { margin: 0; font-size: 16px; line-height: 1.85; color: #4b3543; }
.magazine-closing { padding: 40px 48px; background: #351526; color: #fff5ef; border-radius: 4px; margin: 20px 0 48px; }
.magazine-provider .magazine-closing h2 { font-size: 40px; line-height: 1.1; margin: 12px 0 20px; }
.magazine-closing h2 em { color: #edb4b4; }
.magazine-closing > p { max-width: 65ch; }
.magazine-closing .affiliate-action { max-width: 65ch; margin-top: 24px; }
.magazine-closing .affiliate-note,.magazine-closing .affiliate-note a { color: #fff5ef; }
.magazine-closing .button { background: #edb4b4; color: #351526; }
.magazine-brand { background: #efe2e2; padding: 40px; text-align: center; }
.magazine-brand img { display: block; margin: 24px auto; }
.magazine-brand p { font: 34px/1.2 var(--serif); }
@media(max-width:900px){.magazine-provider .provider-hero{gap:28px}.magazine-chapter{gap:32px}}
@media(max-width:640px){
 .magazine-provider .provider-hero { grid-template-columns: 1fr; gap: 24px; }
 .magazine-photo img { height: 300px; border-top-left-radius: 76px; }
 .magazine-body { margin-top: 36px; }
 .magazine-chapter { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
 .magazine-provider .magazine-chapter h2 { font-size: 31px; }
 .magazine-chapter p,.editorial-facts dd { font-size: 15px; line-height: 1.8; }
 .magazine-closing { padding: 28px 22px; }
 .magazine-provider .magazine-closing h2 { font-size: 32px; }
}
.magazine-closing > p { color: #f8ebe8; }
.magazine-closing > .eyebrow { color: #edb4b4; }
/* Shared article recommendations: titles and useful introductions, not warning panels. */
.magazine-reading { padding: 30px 0; border: 0; background: transparent; margin: 32px 0; }
.magazine-reading > .eyebrow { color: #824052; font-size: 10px; }
.magazine-reading > h2,.magazine-provider .magazine-reading > h2 { font-size: 36px; margin: 12px 0; }
.magazine-reading > p { color: #4b3543; }
.magazine-reading-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 28px 0; }
.magazine-reading-grid article { border-top: 2px solid #98455e; padding-top: 20px; }
.magazine-reading-grid h3 { font: 500 28px/1.15 var(--serif); margin: 0 0 14px; }
.magazine-reading-grid h3 a { text-decoration: none; }
.magazine-reading-grid p { font-size: 14px; line-height: 1.8; color: #4b3543; }
.magazine-topics { display: flex; gap: 12px 24px; flex-wrap: wrap; font-size: 13px; }
.magazine-index-photo { margin: 24px 0; }
.magazine-index-photo img { width: 100%; height: 310px; object-fit: cover; object-position: 70% 40%; border-radius: 60px 3px 3px 3px; }
.magazine-index-photo figcaption { font-size: 11px; color: #715565; margin-top: 8px; }
.article-page .page-title { font-size: 48px; }
.reading-card { background: transparent; padding: 22px 0; border-top-width: 2px; }
@media(max-width:640px){.magazine-reading-grid{grid-template-columns:1fr;gap:24px}.magazine-reading-grid h3{font-size:27px}.article-page .page-title{font-size:35px}.magazine-index-photo img{height:250px}.magazine-reading>h2,.magazine-provider .magazine-reading>h2{font-size:32px}}
/* Provider-specific campaign artwork, intact within the magazine composition. */
.magazine-campaign { width: 100%; max-width: 400px; margin: 0; justify-self: center; }
.magazine-campaign a,.magazine-campaign img { display: block; }
.magazine-campaign img { width: 100%; height: auto; border: 0; border-radius: 0; object-fit: contain; }
/* Two steps: pick a direction, then visit the provider. Works without JavaScript. */
.choice-page { max-width: 1120px; padding-block: 30px 60px; min-height: 60vh; }
.choice-question { max-width: 700px; margin: 0 auto; }
.choice-page h1 { font: 500 44px/1.12 var(--serif); margin: 12px 0 20px; letter-spacing: -.6px; }
.choice-page .eyebrow { font-size: 10px; color: #824052; margin: 0 0 14px; }
.choice-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.choice-options a { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fffbf6; border: 1px solid #ccb4bd; padding: 20px; color: #491e34; text-decoration: none; border-radius: 4px; }
.choice-options a:hover { background: #efe2e2; border-color: #824052; }
.choice-result { display: grid; grid-template-columns: minmax(0,1fr) 400px; align-items: start; gap: 52px; }
.choice-result-heading { display: flex; align-items: center; gap: 14px; }
.choice-result-heading img { width: 56px; height: 56px; object-fit: contain; border-radius: 4px; }
.choice-result-heading h1 { margin: 0; }
.choice-reason { font-size: 18px; line-height: 1.7; margin: 22px 0; color: #4b3543; }
.choice-page .affiliate-action { margin: 18px 0 0; }
.choice-page .affiliate-note { font-size: 14px; margin: 0 0 16px; }
.choice-support { font-size: 14px; color: #4b3543; margin: 14px 0; }
.choice-secondary,.choice-change,.card-more { font-size: 13px; color: #642c44; }
.choice-change { display: inline-block; margin-top: 20px; }
.choice-alternative,.choice-footnote { font-size: 13px; color: #4b3543; margin-top: 24px; }
.provider-card .card-visit { font-size: 13px; padding: 14px 12px; white-space: normal; }
.card-more { margin-top: 14px; text-align: center; }
@media(max-width:900px){.choice-result{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.choice-page h1{font-size:38px}}
@media(max-width:640px){
 .choice-page { padding-top: 24px; }
 .choice-page h1 { font-size: 32px; }
 .choice-options { grid-template-columns: 1fr; gap: 10px; margin-block: 20px; }
 .choice-options a { padding: 14px 16px; font-size: 15px; }
 .choice-result { grid-template-columns: 1fr; gap: 28px; }
 .choice-result-heading img { width: 46px; height: 46px; }
 .choice-reason { font-size: 16px; margin: 18px 0; }
 .choice-visit { width: 100%; font-size: 14px; }
 .choice-result-heading h1 { overflow-wrap: anywhere; }
}

/* Compact comparison filter with a native no-JavaScript submit fallback. */
.compare-page .filters { max-width: none; flex-wrap: wrap; margin: 18px 0 22px; gap: 12px 20px; }
.compare-page .filters label { flex: 0 1 360px; width: 100%; max-width: 360px; min-width: 0; }
.compare-page .filters select { box-sizing: border-box; display: block; width: 100%; height: 48px; margin-top: 6px; padding: 10px 14px; font-size: 16px; }
.compare-page .filters .button { min-height: 48px; }
.filters [hidden] { display: none !important; }
.photo-credit { top: 16px; bottom: auto; right: 20px; font-size: 12px; line-height: 1.5; color: #fff9f4; background: #25131f; padding: 5px 9px; }
.magazine-index-photo figcaption { font-size: 13px; color: #4b3543; }
@media(max-width:640px){
 .compare-page .filters label { flex-basis: 100%; max-width: none; }
 .compare-page .filters > a { font-size: 13px; margin: 0; }
}

.compare-page .result-count { font-size: 13px; }
@media(max-width:640px){.compare-page .selection-heading { flex-direction: column; align-items: flex-start; gap: 4px; }.compare-page .result-count { margin: 0 0 8px; }}

/* A plain credit belongs to its image, not to the site header. */
.hero { overflow: visible; margin-bottom: 42px; }
.hero-photo { position: absolute; inset: 0; margin: 0; z-index: -3; }
.hero .photo-credit { position: absolute; top: 100%; right: 0; bottom: auto; left: 0; box-sizing: border-box; min-height: 42px; padding: 10px max(20px,calc((100vw - 1240px)/2)); margin: 0; border: 0; border-radius: 0; background: var(--paper); color: #5a4552; font-size: 14px; font-weight: 400; line-height: 22px; }
.magazine-index-photo figcaption { font-size: 14px; font-weight: 400; line-height: 22px; color: #5a4552; background: transparent; border: 0; padding: 0; margin-top: 8px; }
@media(max-width:640px){
 .hero { margin-bottom: 0; min-height: 0; }
 .hero-photo { position: relative; inset: auto; z-index: auto; }
 .hero-art { position: relative; display: block; height: 330px; z-index: auto; }
 .hero .photo-credit { position: static; }
 .hero-shade { display: none; }
 .hero-content { min-height: 0; padding-top: 24px; padding-bottom: 40px; }
}

/* Image-specific AI watermark, inside the visible image area. */
.hero { margin-bottom: 0; overflow: hidden; }
.hero .photo-credit { top: auto; bottom: 18px; right: 22px; left: auto; min-height: 0; padding: 0; background: transparent; color: #fff; font-size: 14px; font-weight: 400; line-height: 1.5; text-shadow: 0 1px 3px #000, 0 0 6px #000; border: 0; }
.magazine-index-photo { position: relative; }
.magazine-index-photo figcaption { position: absolute; right: 16px; bottom: 14px; padding: 0; margin: 0; color: #fff; font-size: 14px; font-weight: 400; text-shadow: 0 1px 3px #000, 0 0 6px #000; background: transparent; }
@media(max-width:640px){.hero .photo-credit { position: absolute; bottom: 14px; right: 16px; font-size: 13px; }}

.contact-form { display: grid; gap: 10px; margin: 24px 0 40px; }.contact-form label { font-weight: 500; }.contact-form input,.contact-form textarea { width:100%; border:1px solid #bca5af; background:#fffbf6; color:#34212d; padding:12px; font:inherit; }.contact-form p { font-size:14px; }.contact-form button { justify-self:start; }
/* The full-size decorative figure must never intercept hero links. */
.hero-photo { z-index: auto; }
.hero-content { position: relative; z-index: 2; }
.hero-photo, .hero-photo::before, .hero-photo::after,
.hero-shade, .hero-shade::before, .hero-shade::after,
.hero-number, .hero-number::before, .hero-number::after,
.hero .photo-credit, .hero .photo-credit::before, .hero .photo-credit::after,
.magazine-index-photo figcaption, .magazine-index-photo figcaption::before, .magazine-index-photo figcaption::after {
 pointer-events: none;
}
.hero .photo-credit { z-index: 1; }

/* Keep image credits small, including inside mobile article typography. */
.hero .photo-credit, .magazine-index-photo figcaption {
 font-size: 12px; font-weight: 400; line-height: 1.4; right: 8px; bottom: 8px;
 padding: 0; margin: 0; border: 0; background: transparent; color: rgba(245, 240, 237, .7);
 text-shadow: 0 1px 3px #000;
}
.icon-arrow { width: 16px; height: 16px; flex: 0 0 16px; display: inline-block; vertical-align: middle; }
.button, a.arrow-link { display: inline-flex; align-items: center; gap: 8px; }

/* One uncropped logo treatment for every provider card and quiz result. */
.provider-logo-frame, .brand-symbol.provider-logo-frame {
 display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
 width: 120px; height: 88px; padding: 8px; border-radius: 0;
 background: #fff; overflow: visible;
}
.provider-logo-frame img, .choice-result-heading .provider-logo-frame img {
 display: block; width: auto; height: auto; max-width: 100%; max-height: 100%;
 object-fit: contain; border-radius: 0; flex: 0 1 auto;
}
.choice-result-heading { flex-wrap: wrap; }
.choice-result-heading h1 { flex: 1 1 240px; }
@media(max-width:640px){
 .provider-logo-frame, .brand-symbol.provider-logo-frame { width: 112px; height: 80px; }
}
