/* This stylesheet is loaded only by the free dating landing page. */
body { margin:0; background:#fffaf6 !important; background-image:none !important; }
body::before, body::after { display:none !important; }
.free-landing { --free-ink:#14263d; --free-muted:#596477; --free-coral:#ff5b68; position:relative; isolation:isolate; overflow:clip; background:radial-gradient(ellipse at 0% 35%,#ffefe640,transparent 40%),#fffaf6; color:var(--free-ink); font-family:'Poppins',sans-serif; }
.free-landing *, .free-landing *::before, .free-landing *::after { box-sizing:border-box; }
.free-landing section { margin-top:0; margin-bottom:0; padding-inline:0; }
.free-landing .free-wrap { width:calc(100% - 96px); max-width:1280px; margin-inline:auto; }
.free-landing h1,.free-landing h2,.free-landing h3 { color:var(--free-ink); font-family:inherit; text-align:left; margin:0; font-weight:600; letter-spacing:-.045em; text-shadow:none; }
.free-landing h2 { font-size:clamp(28px,3vw,42px); line-height:1.17; }
.free-landing h3 { font-size:17px; line-height:1.45; letter-spacing:-.035em; }
.free-landing p { color:var(--free-muted); font-size:16px; line-height:1.75; margin:16px 0 0; }
.free-landing a { text-decoration:none; }
.free-landing .free-icon { width:28px; height:28px; flex-shrink:0; color:var(--free-coral); }
.free-landing .free-card { background:#ffffffeb; border:1px solid #fff; border-radius:24px; box-shadow:0 14px 45px #8d5b4510; }
.free-hero { position:relative; padding:0 0 12px; }
.free-hero-inner { position:relative; z-index:1; padding-block:76px 64px; }
.free-hero-copy { width:54%; max-width:670px; }
.free-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:99px; background:#ffe2ec; color:#d72e70; font-size:14px; font-weight:600; }
.free-eyebrow .free-icon { width:17px; height:17px; fill:currentColor; color:inherit; }
.free-landing h1 { margin:24px 0 20px; font-size:clamp(40px,4.25vw,62px); line-height:1.075; letter-spacing:-.055em; }
.free-landing .free-lead { font-size:17px; line-height:1.75; max-width:570px; }
.free-hero-photo { position:absolute; top:0; right:0; width:55%; height:660px; max-height:calc(100% - 100px); overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 22%),linear-gradient(to bottom,#000 76%,transparent 100%); mask-composite:intersect; -webkit-mask-image:linear-gradient(to right,transparent,#000 22%),linear-gradient(to bottom,#000 76%,transparent 100%); -webkit-mask-composite:source-in; }
.free-hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:52% center; }
.free-heart-trail { position:absolute; z-index:1; width:190px; top:18px; right:15%; color:#ff6480; transform:rotate(-10deg); pointer-events:none; }
.free-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:28px; }
.free-landing .free-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:15px 25px; min-height:54px; border-radius:99px; font-size:14px; font-weight:600; line-height:1.4; text-align:center; transition:transform .2s,box-shadow .2s; }
.free-button .free-icon { width:22px; height:22px; color:inherit; }
.free-button-primary { color:#fff; background:linear-gradient(105deg,#ff378d,#ff7c6b); box-shadow:0 10px 24px #ff528c25; }
.free-button-secondary { color:var(--free-ink); background:#fff7f8; border:1px solid #ffd9e4; }
.free-landing .free-button:hover { transform:translateY(-2px); box-shadow:0 12px 24px #f85b7625; }
.free-landing .free-button-primary:hover,
.free-landing .free-button-outline:hover { color:#fff; }
.free-landing a:focus-visible,.free-landing summary:focus-visible { outline:3px solid #142e4d; outline-offset:5px; }
.free-proof-grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.free-proof { display:flex; align-items:flex-start; gap:20px; padding:30px 26px; }
.free-icon-disc { display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; border-radius:50%; background:#fff0ec; }
.free-icon-disc .free-icon { width:34px; height:34px; }
.free-landing .free-proof h2 { font-size:18px; line-height:1.35; letter-spacing:-.035em; }
.free-landing .free-proof p,.free-landing .free-pillar p,.free-landing .free-related p { font-size:14px; line-height:1.7; margin-top:8px; }
.free-section { padding-block:100px; }
.free-principles { display:grid; grid-template-columns:.95fr 1.05fr; gap:86px; align-items:center; position:relative; }
.free-principles::after { content:''; position:absolute; right:-120px; top:60px; width:180px; height:300px; background:#ffece580; border-radius:60% 40% 70% 30%; transform:rotate(-25deg); z-index:-1; }
.free-section-rule { display:block; width:40px; height:3px; background:var(--free-coral); margin-bottom:26px; }
.free-section-copy p { margin-top:24px; }
.free-pillar-list { display:grid; gap:20px; }
.free-pillar { display:flex; align-items:center; gap:22px; padding:26px; }
.free-story-section { position:relative; padding-block:12px; }
.free-story { display:grid; grid-template-columns:30% 70%; align-items:stretch; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 14px 45px #8d5b4510; }
.free-story-photo { position:relative; min-height:400px; width:100%; overflow:hidden; }
.free-story-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:36% center; display:block; }
.free-story-panel { position:relative; display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:center; padding:38px; }
.free-landing .free-story-panel { background:#fff; border:0; border-radius:0; box-shadow:none; }
.free-landing .free-story-panel h2 { font-size:28px; }
.free-landing .free-story-panel p { font-size:14px; }
.free-checklist { display:grid; gap:12px; list-style:none; padding:0; margin:0; }
.free-checklist li { display:flex; align-items:center; gap:16px; padding:15px 16px; border:1px solid #f4eeeb; border-radius:17px; background:white; color:var(--free-muted); font-size:13px; line-height:1.6; }
.free-checklist .free-icon { width:22px; height:22px; }
.free-landing .free-centered-title { text-align:center; margin-bottom:36px; font-size:clamp(28px,3vw,38px); }
.free-faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.free-faq { padding:26px; }
.free-faq summary { cursor:pointer; position:relative; list-style:none; padding-right:36px; min-height:32px; font-weight:600; font-size:15px; line-height:1.5; letter-spacing:-.03em; }
.free-faq summary::-webkit-details-marker { display:none; }
.free-faq-toggle { position:absolute; right:0; top:-3px; width:28px; height:28px; border:1px solid #ffdae5; border-radius:50%; background:#fff8fa; color:#fa4281; }
.free-faq-toggle::before,.free-faq-toggle::after { content:''; position:absolute; top:13px; left:8px; width:10px; height:1px; background:currentColor; }
.free-faq-toggle::after { transform:rotate(90deg); }
.free-faq[open] .free-faq-toggle::after { transform:rotate(0); }
.free-landing .free-faq p { margin-top:10px; font-size:14px; line-height:1.75; }
.free-related-section { padding-block:0 64px; }
.free-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.free-related { display:flex; align-items:center; gap:20px; padding:26px; transition:transform .2s,box-shadow .2s; }
.free-related > .free-icon:first-child { width:34px; height:34px; }
.free-related > .free-icon:last-child { width:20px; height:20px; margin-left:auto; }
.free-landing .free-related h3 { font-size:15px; }
.free-related:hover { transform:translateY(-3px); box-shadow:0 16px 40px #aa655220; }
.free-final-section { padding-bottom:80px; }
.free-final { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; border-radius:26px; background:linear-gradient(110deg,#fc388c,#ff8e73); padding:44px 40px; box-shadow:0 16px 40px #ee80651c; }
.free-landing .free-final h2 { color:white; font-size:32px; }
.free-landing .free-final p { color:white; font-size:14px; max-width:740px; }
.free-final .free-actions { margin:0; }
.free-button-white { color:#e82968; background:#fff; }
.free-button-outline { color:#fff; border:1px solid #fff; background:transparent; }
@media(min-width:1600px) { .free-hero-photo { width:calc(50% + 40px); } }
@media(max-width:1150px) {
 .free-landing .free-wrap { width:calc(100% - 64px); }
 .free-hero-inner { padding-block:64px 48px; }
 .free-hero-copy { width:57%; }
 .free-hero-photo { width:52%; }
 .free-proof { padding:24px 20px; gap:14px; }
 .free-proof .free-icon-disc { width:42px; height:42px; }
 .free-proof .free-icon { width:28px; height:28px; }
 .free-principles { gap:48px; }
 .free-story { grid-template-columns:27% 73%; }
 .free-story-panel { padding:28px; gap:24px; }
 .free-related { padding:24px 20px; gap:14px; }
 .free-final { grid-template-columns:1fr; gap:26px; }
}
@media(max-width:850px) {
 .free-hero-copy { width:64%; }
 .free-hero-photo { width:50%; opacity:.8; }
 .free-hero-photo { mask-image:linear-gradient(to right,transparent,#000 55%),linear-gradient(to bottom,#000 65%,transparent); }
 .free-heart-trail { width:120px; right:8%; }
 .free-landing h1 { font-size:42px; }
 .free-proof-grid { grid-template-columns:1fr; gap:16px; }
 .free-proof { padding:24px; }
 .free-proof .free-icon-disc { width:56px; height:56px; }
 .free-section { padding-block:72px; }
 .free-principles { grid-template-columns:1fr; gap:32px; }
 .free-section-copy { max-width:650px; }
 .free-story { grid-template-columns:1fr; }
 .free-story-photo { height:340px; min-height:0; }
 .free-story-photo img { object-position:center 58%; }
 .free-faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .free-related-grid { grid-template-columns:1fr; gap:16px; }
 .free-related { padding:24px; }
}
@media(max-width:600px) {
 .free-landing .free-wrap { width:calc(100% - 40px); }
 .free-hero-inner { padding-block:38px 0; }
 .free-hero-copy { width:100%; max-width:none; }
 .free-landing h1 { font-size:clamp(34px,9vw,46px); margin-top:22px; }
 .free-landing .free-lead { font-size:16px; }
 .free-hero-photo { position:relative; top:auto; right:auto; width:100%; height:310px; max-height:none; opacity:1; margin-top:28px; mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 82%,transparent); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 82%,transparent); }
 .free-hero { display:flex; flex-direction:column; }
 .free-hero-inner { order:-1; }
 .free-hero-photo img { object-position:center 52%; }
 .free-heart-trail { display:none; }
 .free-actions { gap:12px; margin-top:24px; }
 .free-hero-copy .free-actions { align-items:stretch; flex-direction:column; }
 .free-landing .free-button { padding:15px 20px; }
 .free-proof-grid { margin-top:4px; }
 .free-proof { gap:18px; }
 .free-section { padding-block:64px; }
 .free-pillar { padding:24px 20px; gap:16px; align-items:flex-start; }
 .free-icon-disc { width:48px; height:48px; }
 .free-icon-disc .free-icon { width:28px; height:28px; }
 .free-story-section { padding:0; }
 .free-story-photo { height:260px; }
 .free-story-panel { grid-template-columns:1fr; padding:28px 22px; gap:26px; }
 .free-landing .free-story-panel h2 { font-size:27px; }
 .free-faq-grid { grid-template-columns:1fr; gap:16px; }
 .free-faq { padding:24px; }
 .free-related-section { padding-bottom:48px; }
 .free-landing .free-centered-title { margin-bottom:28px; }
 .free-final-section { padding-bottom:56px; }
 .free-final { padding:32px 24px; gap:24px; }
 .free-landing .free-final h2 { font-size:28px; }
 .free-final .free-actions { align-items:stretch; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .free-landing a { transition:none; } }
