
.free-page { background:#faf8f0 }
#free { background:radial-gradient(ellipse at 90% 0%,#e8dbb977,transparent 45%); padding:54px 24px 36px }
.fr-wrap { max-width:1120px; margin:auto }
.fr-eyebrow { display:block; margin-bottom:16px; font:600 11px/1.3 var(--font); letter-spacing:.14em; text-transform:uppercase; color:#8a6a32 }
.fr-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; margin-bottom:58px }
.fr-hero h1 { font:500 clamp(36px,4.2vw,58px)/1.06 var(--font); letter-spacing:-.05em; max-width:12ch; margin:0 }
.fr-intro { font-size:16px; line-height:1.7; color:#756a59; margin:24px 0 0; max-width:49ch }
.fr-zero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 85% 15%,#538d6077,transparent 65%),linear-gradient(130deg,#163e30,#2c7050); color:#fff9e8; border:1px solid #478269; border-radius:26px; padding:34px; box-shadow:0 22px 45px -25px #21493488 }
.fr-zero::after { content:""; z-index:-1; position:absolute; width:320px; height:320px; right:-150px; top:-85px; border:1px solid #e8d18e44; border-radius:50%; box-shadow:0 0 0 25px #e8d18e0a,0 0 0 50px #e8d18e0a,0 0 0 75px #e8d18e0a }
.fr-zero > span { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#e0e7cf }
.fr-zero > strong { display:block; font:600 108px/1.1 var(--font); letter-spacing:-.07em; margin:12px 0; color:#f2dfa5 }
.fr-zero p { font-size:15px; margin:0 0 26px }
.fr-checks { display:flex; flex-wrap:wrap; gap:10px 16px; padding-top:20px; border-top:1px solid #fff3; font-size:11px; color:#e3ecdc }
.fr-clarity h2,.fr-journey h2 { font:500 clamp(25px,2.6vw,33px)/1.15 var(--font); letter-spacing:-.035em; margin:0 0 25px }
.fr-clarity p { font-size:14px; line-height:1.7; color:#756a59; margin:12px 0 0 }
.fr-journey { display:grid; grid-template-columns:.8fr 1.5fr; align-items:center; gap:44px; margin:36px 0 42px; padding:32px 38px; background:radial-gradient(ellipse at 5% 0%,#f5e2aa,transparent 70%),#efe6cf; border:1px solid #dccc9e; border-radius:24px }
.fr-reward { font:600 clamp(60px,7vw,86px)/1 var(--font); letter-spacing:-.065em; color:#3c6548 }
.fr-journey h2 { margin-bottom:12px }
.fr-journey p { font-size:14px; line-height:1.65; color:#786546; margin:0 0 18px }
.fr-journey a { display:inline-flex; gap:22px; align-items:center; font-size:13px; font-weight:600; color:#365a40; text-decoration:none; border-bottom:1px solid #a99d6b; padding-bottom:6px }
.fr-clarity > div { display:grid; grid-template-columns:repeat(3,1fr); gap:30px }
.fr-clarity article { border-top:1px solid #dacfba; padding-top:20px }
.fr-clarity h3 { font-size:16px; font-weight:600; margin:0 }
.fr-disclosure { margin-top:28px; padding-top:16px; border-top:1px solid #e2d9c8 }
.fr-disclosure > strong { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#8d7d62; font-weight:600 }
.fr-disclosure p { font-size:11px; line-height:1.6; color:#8a7f6d; margin:5px 0 0 }
@media(max-width:760px) {
 #free { padding:32px 22px }
 .fr-hero { grid-template-columns:1fr; gap:26px; margin-bottom:38px }
 .fr-hero h1 { max-width:16ch }
 .fr-zero { padding:26px }
 .fr-zero > strong { font-size:86px }
 .fr-clarity > div { grid-template-columns:1fr; gap:18px }
 .fr-journey { grid-template-columns:1fr; gap:24px; padding:26px }
}
