:root {
  --pink-600: #F5137A; --pink-700: #C42063; --blue-800: #0857A8;
  --navy-900: #1A1A2E; --ink-900: #0F1B2A; --ink-800: #243040;
  --slate-600: #475569; --slate-500: #64748B; --line-200: #E2E8F0;
  --line-150: #E8EEF3; --surface-50: #F8FAFC; --white: #FFFFFF;
  --pink-tint: #FFF6FB; --pink-border: #FBD3E6; --blue-tint: #F4FAFE;
  --blue-border: #C6E4F7;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; background: var(--white); color: var(--ink-800); font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.55; }
a { color: var(--blue-800); text-underline-offset: 3px; }
a:hover { color: var(--pink-700); }
.site-header, .site-footer { padding: 20px; }
.site-header { border-bottom: 1px solid var(--line-150); }
.site-header-inner, .site-footer-inner, main { width: min(100%, 900px); margin-inline: auto; }
.wordmark { color: var(--navy-900); font-family: "Playfair Display", Georgia, serif; font-size: 30px; font-weight: 800; letter-spacing: -0.4px; text-decoration: none; }
main { padding: 52px 20px; }
.document { max-width: 33em; }
h1, h2 { color: var(--navy-900); font-family: "Playfair Display", Georgia, serif; text-wrap: balance; }
h1 { margin: 0; font-size: 52px; line-height: 1.08; font-weight: 800; letter-spacing: -1px; }
h2 { margin: 0; font-size: 30px; line-height: 1.2; font-weight: 700; letter-spacing: -0.4px; }
p, li { text-wrap: pretty; }
.flow, .form-fields, .page-links { display: flex; flex-direction: column; gap: 24px; }
.section { display: flex; flex-direction: column; gap: 12px; }
.section p, .section ul { margin: 0; }
ul { padding-left: 24px; }
li + li { margin-top: 10px; }
.banner { padding: 16px 18px; border: 1px solid var(--pink-border); border-radius: 14px; background: var(--pink-tint); color: var(--ink-900); }
.banner p { margin: 0; }
.info-banner { border-color: var(--blue-border); background: var(--blue-tint); }
form { display: flex; flex-direction: column; gap: 20px; padding: 24px; border: 1px solid var(--line-200); border-radius: 18px; background: var(--surface-50); }
label { color: var(--ink-900); font-weight: 600; }
.field { display: flex; flex-direction: column; gap: 8px; }
input[type="email"], input[type="password"] { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line-200); border-radius: 14px; background: var(--white); color: var(--ink-900); font: inherit; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid var(--blue-border); outline-offset: 3px; }
.checkbox { display: flex; align-items: flex-start; gap: 12px; }
.checkbox input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--pink-600); flex: 0 0 auto; }
button { min-height: 52px; padding: 12px 20px; border: 0; border-radius: 24px; background: var(--pink-600); color: var(--white); font: 700 17px "DM Sans", system-ui, sans-serif; cursor: pointer; }
button:hover { background: var(--pink-700); }
button:disabled { background: var(--slate-500); cursor: wait; }
.status { padding: 16px 18px; border-radius: 14px; border: 1px solid var(--blue-border); background: var(--blue-tint); }
.status[hidden] { display: none; }
.status p { margin: 0; }
.site-footer { border-top: 1px solid var(--line-150); color: var(--slate-600); font-size: 15px; }
.site-footer-inner { display: flex; flex-wrap: wrap; gap: 14px 20px; }
.site-footer a { color: var(--slate-600); }
.small { color: var(--slate-600); font-size: 15px; }
@media (max-width: 767px) {
  body { font-size: 14px; line-height: 1.5; }
  main { padding-top: 32px; padding-bottom: 32px; }
  h1 { font-size: 38px; }
  h2, .wordmark { font-size: 23px; }
  .small, .site-footer { font-size: 13px; }
  button { font-size: 15px; }
  form { padding: 18px; }
}

/* The mark sits beside the wordmark. aria-hidden and empty alt because the
   adjacent text already names the brand — announcing it twice is worse than
   not announcing it. */
.wordmark { display: inline-flex; align-items: center; gap: 10px; }
.wordmark img { display: block; }
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.main-nav,.footer-nav,.socials{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.main-nav a{font-size:14px;font-weight:700;text-decoration:none}.nav-disabled{color:#94A3B8;font-size:14px;font-weight:700}.hero{padding:100px 0 80px;background:radial-gradient(circle at 80% 10%,#C6E4F788,transparent 35%)}.hero h1,.page-hero h1{color:#1A1A2E;font-family:Georgia,serif;font-size:clamp(52px,8vw,92px);line-height:1;margin:0}.eyebrow{color:#F5137A;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.lede{max-width:700px;font-size:21px;color:#475569}.cta{display:inline-block;padding:14px 23px;border-radius:99px;background:#F5137A;color:white;font-weight:700;text-decoration:none}.section-pad{padding:85px 0}.section-heading{max-width:700px;margin-bottom:38px}.week-card{padding:28px;border:1px solid #E2E8F0;border-radius:28px;box-shadow:0 20px 60px #1A1A2E1A}.week-grid,.three-up,.standard-grid,.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.week{padding:20px;border-radius:18px;background:#F8FAFC}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{padding:8px 2px;border-radius:8px;background:white;text-align:center;font-size:11px}.day strong{display:block}.day.on{background:#FFF6FB;color:#C42063;outline:1px solid #FBD3E6}.compatibility{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:20px;border-top:1px solid #E2E8F0;padding-top:22px}.score{display:grid;place-items:center;width:95px;height:95px;border-radius:50%;background:#1A1A2E;color:white;font-size:27px;font-weight:800;border:10px solid #F5137A}.navy-band{background:#1A1A2E;color:white}.three-up{grid-template-columns:repeat(3,1fr);gap:38px}.three-up h3{font:700 28px Georgia,serif}.ledger{overflow:auto}.ledger table{width:100%;border-collapse:collapse}.ledger th,.ledger td{padding:17px;text-align:left;border-bottom:1px solid #E2E8F0}.photo-grid{grid-template-columns:1.2fr .8fr}.photo-slot{min-height:270px;display:grid;place-items:center;border:2px dashed #E2E8F0;border-radius:24px;background:#F8FAFC}.page-hero{padding:75px 0 40px}.document{width:min(760px,calc(100% - 40px));margin:auto;padding:15px 0 90px}.flow>*+*{margin-top:35px}.panel{padding:20px;border:1px solid #C6E4F7;border-radius:18px;background:#F4FAFE}.standard-card{border:1px solid #E2E8F0;border-radius:18px;overflow:hidden}.standard-card h3{padding:17px;background:#F8FAFC}.site-footer{padding:48px 20px;border-top:1px solid #E8EEF3}.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.week-grid,.three-up,.standard-grid,.photo-grid{grid-template-columns:1fr}.compatibility{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Marketing-page structures supplied with the final copy. */
main{width:100%;max-width:none;margin:0;padding:0}.nav-cta{padding:10px 16px;border-radius:99px;background:var(--pink-600);color:var(--white)!important}.hero h1 em,h2 em,.page-hero h1 em{font-weight:600}.waitlist-note{display:flex;align-items:center;gap:10px;max-width:700px;margin-top:28px}.waitlist-note p,.joined-state p{margin:0}.joined-state{max-width:700px;margin-top:24px;padding:18px;border:1px solid var(--pink-border);border-radius:14px;background:var(--pink-tint)}.calendar{display:grid;grid-template-columns:minmax(72px,1.5fr) repeat(7,minmax(32px,1fr));gap:7px;align-items:center}.calendar-day,.calendar-label{font-weight:700;text-align:center}.calendar-label{text-align:left}.calendar-cell{min-height:48px;border:1px solid var(--line-200);border-radius:10px;background:var(--surface-50);display:grid;place-items:center}.calendar-cell.yours.active{border-color:var(--pink-border);background:var(--pink-tint)}.calendar-cell.theirs.active{border-color:var(--blue-border);background:var(--blue-tint)}.calendar-cell.both.active{border:0;background:linear-gradient(135deg,var(--pink-600),var(--blue-800))}.calendar-cell.kept{border:2px dashed var(--slate-500);background:var(--white);color:var(--pink-600);font-size:25px}.week-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.week-notes p{padding:18px;border-radius:14px;background:var(--surface-50)}.compatibility p{font-weight:700}.photo-grid-three{grid-template-columns:repeat(3,1fr)}.photo-grid-three .photo-slot{padding:24px;text-align:center}.navy-band h2{color:var(--white);font-size:clamp(36px,5vw,62px);max-width:850px}.band-footer{margin-top:38px;padding-top:24px;border-top:1px solid #FFFFFF33}.ledger-cards,.entry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.ledger-cards article,.entry-panel{padding:26px;border:1px solid var(--line-200);border-radius:18px}.entry-panel{background:var(--surface-50)}.entry-panel h2{font-size:26px}.standard-card h2{padding:17px;background:var(--surface-50);font-size:24px}.document section>p+p{margin-top:16px}
@media(max-width:760px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.main-nav{gap:12px}.calendar{grid-template-columns:minmax(60px,1.5fr) repeat(7,minmax(24px,1fr));gap:4px}.calendar-cell{min-height:36px}.week-card{padding:16px}.week-notes,.photo-grid-three,.ledger-cards,.entry-grid{grid-template-columns:1fr}.hero{padding-top:60px}}
