/* layout-v17 — canonical recovered base layout variant; 10 SEO pages. */
:root {
  --ink:#101827;
  --muted:#5e6673;
  --coral:#ff6656;
  --coral2:#ff7b6d;
  --pink:#fff0ed;
  --cream:#fffaf8;
  --mint:#edf9f5;
  --sky:#eff7ff;
  --line:#ece9e7;
  --shadow:0 16px 42px rgba(24,32,45,.075);
  --shadow2:0 8px 22px rgba(24,32,45,.045)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.62
}
a {
  color:inherit
}
.wrap {
  max-width:1180px;
  margin:auto;
  padding:0 28px
}
header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,0,0,.055)
}
.nav {
  height:76px;
  display:flex;
  align-items:center;
  gap:23px
}
.brand {
  font-size:27px;
  font-weight:850;
  color:var(--coral);
  letter-spacing:-.035em;
  text-decoration:none;
  margin-right:auto
}
.brand small {
  display:block;
  font-size:10px;
  color:#475569;
  letter-spacing:.08em;
  text-align:center;
  margin-top:-4px
}
.navlink {
  text-decoration:none;
  font-size:12px;
  font-weight:760;
  color:#374151;
  max-width:155px;
  line-height:1.15
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:999px;
  padding:14px 22px;
  font-weight:800;
  border:1px solid transparent
}
.btn.primary {
  background:linear-gradient(135deg,var(--coral),var(--coral2));
  color:#fff;
  box-shadow:0 10px 24px rgba(255,102,86,.22)
}
.btn.ghost {
  background:#fff;
  border-color:#ffb6ad;
  color:#9c3a31
}
.btn.small {
  padding:11px 18px;
  font-size:14px
}
.hero {
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:28px 34px;
  align-items:center;
  padding:54px 0 38px
}
.hero-copy {
  grid-column:1;
  grid-row:1
}
.hero-art {
  grid-column:2;
  grid-row:1 / span 3;
  height:465px;
  border-radius:42px 42px 22px 42px;
  overflow:hidden;
  background:#fff2ef;
  box-shadow:var(--shadow)
}
.hero-art img {
  width:100%;
  height:100%;
  object-fit:cover
}
.hero-actions {
  grid-column:1;
  grid-row:2;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:-14px
}
.trust-row {
  grid-column:1;
  grid-row:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  max-width:610px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 7px 20px rgba(24,32,45,.035)
}
.trust-row span {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 13px;
  border-right:1px solid var(--line);
  font-size:12px;
  font-weight:650;
  color:#4f5865;
  white-space:nowrap
}
.trust-row span:last-child {
  border-right:0
}
.bubble {
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink);
  color:var(--coral);
  font-style:normal
}
.eyebrow {
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--coral);
  font-weight:850
}
h1 {
  font-size:58px;
  line-height:.99;
  letter-spacing:-.052em;
  margin:14px 0 18px
}
.lede {
  font-size:19px;
  color:#424a57;
  max-width:710px;
  margin:0
}
.section {
  padding:70px 0
}
.section:nth-of-type(even) {
  background:var(--cream)
}
.section:nth-of-type(odd) {
  background:#fff
}
.section-head {
  margin-bottom:28px
}
.section h2 {
  font-size:37px;
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 11px
}
.section-intro {
  max-width:800px;
  color:var(--muted);
  font-size:17px
}
.answer-hero {
  padding:31px;
  border-radius:32px;
  background:linear-gradient(135deg,#fff5f2,#fff);
  border:1px solid var(--line);
  box-shadow:var(--shadow)
}
.answerline {
  font-size:25px;
  font-weight:760;
  line-height:1.31;
  letter-spacing:-.017em
}
.answer-hero p {
  color:#4b5563;
  margin:13px 0 0
}
.answer-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:22px
}
.answer-col {
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line)
}
.answer-col.good {
  border-top:4px solid #55b68a
}
.answer-col.warn {
  border-top:4px solid var(--coral)
}
.answer-col h3 {
  margin:0 0 9px
}
.answer-col p {
  margin:0;
  color:var(--muted);
  font-size:14px
}
.grid2 {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px
}
.grid3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.grid4 {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.card,.panel,.source,.stat {
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow2)
}
.card {
  padding:23px
}
.panel {
  padding:28px
}
.card h3,.panel h3 {
  margin:0 0 8px;
  font-size:19px
}
.card p,.panel p {
  margin:0;
  color:var(--muted);
  font-size:14px
}
.panel p+p {
  margin-top:15px
}
.icon {
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--pink);
  color:var(--coral);
  display:grid;
  place-items:center;
  margin-bottom:13px;
  font-weight:900
}
.split,.editorial-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch
}
.photo {
  border-radius:28px;
  overflow:hidden;
  min-height:340px;
  box-shadow:var(--shadow);
  background:#f7efec
}
.photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}
.feature-wide {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:24px;
  align-items:start
}
.feature-media-copy {
  display:grid;
  gap:18px
}
.feature-copy-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--shadow2)
}
.feature-copy-card p {
  color:var(--muted);
  font-size:15px;
  margin:0
}
.wide-cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px
}
.scorecard {
  overflow:auto;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--shadow2)
}
table {
  width:100%;
  border-collapse:collapse;
  min-width:680px
}
th,td {
  padding:15px 17px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top
}
th {
  background:#fff4f1;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em
}
td {
  font-size:14px;
  color:#4b5563
}
tr:last-child td {
  border-bottom:0
}
.timeline {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.time {
  padding:22px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff
}
.time .n {
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--coral);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:850;
  margin-bottom:13px
}
.time h3 {
  margin:0 0 7px;
  font-size:17px
}
.time p {
  margin:0;
  color:var(--muted);
  font-size:14px
}
.pill {
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:var(--pink);
  color:var(--coral);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:10px
}
.source-list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px
}
.source {
  padding:18px;
  text-decoration:none
}
.source b {
  display:block;
  margin-bottom:5px
}
.source p {
  margin:0;
  color:#606a77;
  font-size:13px
}
.source span {
  display:inline-block;
  margin-top:10px;
  color:var(--coral);
  font-weight:800;
  font-size:13px
}
.partner {
  padding:34px;
  border-radius:34px;
  background:linear-gradient(135deg,#ffe6df,#fff6f3);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:center;
  box-shadow:var(--shadow)
}
.partner h2 {
  font-size:34px;
  margin:0 0 10px
}
.partner p {
  color:#4b5563;
  margin:0 0 10px
}
.disclosure {
  font-size:12px;
  color:#7a6670
}
.guides {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.guide {
  padding:17px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  text-decoration:none;
  font-weight:750;
  font-size:14px
}
.faq-list {
  display:grid;
  gap:10px
}
.faq {
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff
}
.faq-q {
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  padding:18px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font:inherit;
  font-weight:780;
  cursor:pointer
}
.faq-a {
  display:none;
  padding:0 20px 18px;
  color:var(--muted)
}
.faq.open .faq-a {
  display:block
}
.plus {
  font-size:27px;
  color:var(--coral);
  transition:.2s
}
.faq.open .plus {
  transform:rotate(45deg)
}
.sticky {
  position:sticky;
  bottom:0;
  z-index:25;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(9px);
  border-top:1px solid rgba(0,0,0,.06)
}
.sticky .inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:13px 0
}
.sticky span {
  display:block;
  font-size:12px;
  color:#6b7280
}
footer {
  padding:34px 0 96px;
  color:#737c87;
  font-size:12px
}
.note {
  font-size:12px;
  color:#786d6a
}
@media(max-width:980px) {
  .navlink {
    display:none
  }
  .hero {
    grid-template-columns:1fr
  }
  .hero-copy,.hero-art,.hero-actions,.trust-row {
    grid-column:1
  }
  .hero-copy {
    grid-row:1
  }
  .hero-art {
    grid-row:2;
    height:390px
  }
  .hero-actions {
    grid-row:3;
    margin-top:0
  }
  .trust-row {
    grid-row:4
  }
  .hero h1 {
    font-size:50px
  }
  .feature-wide,.split,.editorial-pair,.partner {
    grid-template-columns:1fr 1fr
  }
  .grid4,.timeline {
    grid-template-columns:1fr 1fr
  }
  .guides {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:640px) {
  .wrap {
    padding:0 16px
  }
  .nav {
    height:60px;
    gap:10px
  }
  .brand {
    font-size:20px
  }
  .brand small {
    display:none
  }
  .nav .btn {
    width:auto;
    padding:10px 14px;
    font-size:12px
  }
  .hero {
    padding:27px 0 26px;
    gap:15px
  }
  .hero h1 {
    font-size:38px;
    line-height:1.02;
    margin:9px 0 10px
  }
  .lede {
    font-size:15px;
    line-height:1.5
  }
  .hero-art {
    height:250px;
    border-radius:28px;
    order:2
  }
  .hero-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .hero-actions .btn {
    width:100%;
    padding:11px 9px;
    font-size:12px
  }
  .trust-row {
    grid-template-columns:repeat(3,1fr);
    border-radius:15px
  }
  .trust-row span {
    font-size:10px;
    padding:8px 5px;
    white-space:normal;
    text-align:center
  }
  .bubble {
    display:none
  }
  .section {
    padding:50px 0
  }
  .section h2 {
    font-size:30px
  }
  .section-intro {
    font-size:15px
  }
  .answerline {
    font-size:21px;
    font-weight:690;
    line-height:1.36
  }
  .answer-columns,.grid2,.grid3,.grid4,.timeline,.partner,.guides,.feature-wide,.feature-media-copy,.wide-cards,.split,.editorial-pair,.source-list {
    grid-template-columns:1fr
  }
  .photo {
    min-height:0
  }
  .photo img {
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover
  }
  .scorecard {
    overflow:visible;
    border:0;
    background:transparent;
    box-shadow:none
  }
  .scorecard table {
    min-width:0;
    display:block
  }
  .scorecard thead {
    display:none
  }
  .scorecard tbody {
    display:grid;
    gap:12px
  }
  .scorecard tr {
    display:block;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    box-shadow:var(--shadow2)
  }
  .scorecard td {
    display:grid;
    grid-template-columns:38% 1fr;
    gap:10px;
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    font-size:13px
  }
  .scorecard td:last-child {
    border-bottom:0
  }
  .scorecard td::before {
    content:attr(data-label);
    font-size:10px;
    line-height:1.25;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:850;
    color:#9a625c
  }
  .sticky {
    display:none
  }
  .partner {
    padding:26px
  }
  .partner h2 {
    font-size:28px
  }
  .guides {
    gap:10px
  }
  .guide {
    font-size:13px
  }
}
.checklist {
  display:grid;
  gap:10px;
  padding:0;
  margin:18px 0 0;
  list-style:none
}
.checklist li {
  position:relative;
  padding:13px 15px 13px 44px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:#4b5563
}
.checklist li:before {
  content:"✓";
  position:absolute;
  left:15px;
  top:11px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff0ec;
  color:var(--coral);
  font-weight:900
}
.callout {
  padding:22px 24px;
  border-left:5px solid var(--coral);
  border-radius:0 20px 20px 0;
  background:#fff7f4
}
.callout p {
  margin:0;
  color:#4b5563
}
.kicker {
  font-size:13px;
  font-weight:850;
  color:#9c3a31;
  text-transform:uppercase;
  letter-spacing:.06em
}
.mini-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}
.mini {
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff
}
.mini b {
  display:block;
  margin-bottom:6px
}
.mini span {
  font-size:13px;
  color:var(--muted)
}
.plain-list {
  padding-left:20px;
  color:#4b5563
}
.plain-list li {
  margin:9px 0
}
.section p {
  line-height:1.7
}
.section p+p {
  margin-top:16px
}
.hero-actions .btn.ghost {
  white-space:nowrap
}
@media(max-width:640px) {
  .mini-grid {
    grid-template-columns:1fr
  }
  .callout {
    padding:19px
  }
}
.article-body {
  max-width:1000px
}
.article-body>p {
  max-width:900px
}
.article-body>h2 {
  max-width:920px
}
.article-body>.scorecard,.article-body>.grid2 {
  margin:24px 0
}
.article-body>.callout {
  margin:24px 0
}
.article-body>p {
  color:#4b5563
}
.nav>.btn {
  display:none
}
.hero-art img {
  display:block
}
.answer-hero {
  max-width:1060px
}
.answerline {
  font-size:24px;
  font-weight:680
}
.guides {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
td {
  overflow-wrap:anywhere
}
.source-list .source p {
  font-size:14px
}
.section .note {
  font-size:13px
}
@media(max-width:640px) {
  .nav>.btn {
    display:inline-flex
  }
  .answerline {
    font-size:20px;
    font-weight:650
  }
  .answer-hero {
    padding:23px
  }
  .hero h1 {
    font-size:36px
  }
  .hero-art {
    height:240px
  }
  .guides {
    grid-template-columns:1fr
  }
  .scorecard td {
    grid-template-columns:35% minmax(0,1fr)
  }
}
