*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #faf6f0;--cream2: #f3ede3;--cream3: #ebe3d5;--terra: #c4623a;--terra2: #e07d55;--terra-lt: #f5d5c8;--rose: #e8a598;--rose-lt: #faeae6;--sage: #7a9e7e;--sage-lt: #d8ead9;--gold: #c4973a;--gold-lt: #f5e8cc;--ink: #2d2420;--ink2: #5c4a3d;--ink3: #a08c7a;--border: rgba(45,36,32,.1);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Jost", system-ui, sans-serif}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}.deco-circle{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.deco-circle-1{width:500px;height:500px;top:-200px;right:-150px;background:radial-gradient(circle,rgba(196,98,58,.08) 0%,transparent 70%)}.deco-circle-2{width:350px;height:350px;bottom:10%;left:-100px;background:radial-gradient(circle,rgba(122,158,126,.1) 0%,transparent 70%)}.deco-circle-3{width:200px;height:200px;top:40%;right:5%;background:radial-gradient(circle,rgba(196,151,58,.08) 0%,transparent 70%)}.page{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:0 20px 80px}.hero{text-align:center;padding:56px 0 40px;animation:riseUp .8s cubic-bezier(.22,1,.36,1) both}.hero-eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:16px}.hero h1{font-family:var(--serif);font-size:clamp(38px,7vw,72px);font-weight:300;line-height:1.1;color:var(--ink);letter-spacing:-.5px}.hero h1 em{font-style:italic;color:var(--terra)}.hero-sub{font-size:14px;color:var(--ink3);max-width:420px;margin:16px auto 0;line-height:1.8;font-weight:300}.input-card{background:#fff;border-radius:20px;padding:36px 40px;box-shadow:0 2px 24px #2d242012,0 0 0 .5px var(--border);margin-bottom:32px;animation:riseUp .8s .1s cubic-bezier(.22,1,.36,1) both}.input-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:28px}@media(max-width:600px){.input-grid{grid-template-columns:1fr}}.field label{display:block;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}.field input,.field select{width:100%;background:var(--cream2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-family:var(--sans);font-size:16px;font-weight:400;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.field input:focus,.field select:focus{border-color:var(--terra2);box-shadow:0 0 0 3px #c4623a1a}.field input[type=date]::-webkit-calendar-picker-indicator{opacity:.4;cursor:pointer}.calc-btn{width:100%;padding:16px;background:var(--terra);border:none;border-radius:12px;font-family:var(--sans);font-size:15px;font-weight:500;color:#fff;cursor:pointer;letter-spacing:.04em;transition:transform .15s,background .15s}.calc-btn:hover{background:var(--terra2);transform:translateY(-1px)}.calc-btn:active{transform:translateY(0)}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;justify-content:center;animation:riseUp .8s .2s cubic-bezier(.22,1,.36,1) both}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink2);font-weight:400}.legend-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.results-banner{display:none;background:#fff;border-radius:16px;padding:24px 32px;margin-bottom:28px;box-shadow:0 2px 20px #2d24200f,0 0 0 .5px var(--border);animation:riseUp .5s cubic-bezier(.22,1,.36,1) both}.results-banner.visible{display:block}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:600px){.results-grid{grid-template-columns:1fr 1fr}}.result-item{text-align:center}.result-dot{width:44px;height:44px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:20px}.result-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}.result-date{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);line-height:1.2}.result-sub{font-size:11px;color:var(--ink3);margin-top:2px}.calendar-wrap{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 24px #2d242012,0 0 0 .5px var(--border);margin-bottom:32px;animation:riseUp .8s .15s cubic-bezier(.22,1,.36,1) both}.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--border)}.cal-nav-btn{width:36px;height:36px;background:var(--cream2);border:1px solid var(--border);border-radius:50%;font-size:16px;color:var(--ink2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cal-nav-btn:hover{background:var(--terra-lt);border-color:var(--terra2);color:var(--terra)}.cal-month-label{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:.02em}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 20px 8px;border-bottom:1px solid var(--border)}.cal-wd{text-align:center;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}.cal-wd.weekend{color:var(--rose)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;padding:12px 20px 20px}.cal-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:default;transition:transform .1s;margin:3px}.cal-cell .day-num{position:relative;z-index:2;font-family:var(--sans);font-size:13px;font-weight:400;color:var(--ink2);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s}.cal-cell.other-month .day-num{color:var(--cream3)}.cal-cell.today .day-num{border:1.5px solid var(--terra2);color:var(--terra);font-weight:600}.cal-cell.period .day-num{background:var(--rose-lt);color:var(--terra);font-weight:500}.cal-cell.period-start .day-num,.cal-cell.next-period-start .day-num{background:var(--rose);color:#fff;font-weight:600}.cal-cell.fertile .day-num{background:var(--sage-lt);color:var(--sage);font-weight:500}.cal-cell.peak-fertile .day-num{background:var(--gold-lt);color:var(--gold);font-weight:600}.cal-cell.ovulation .day-num{background:var(--terra);color:#fff;font-weight:700;box-shadow:0 4px 12px #c4623a59;transform:scale(1.08)}.cal-cell:hover:not(.other-month){transform:scale(1.05)}.cal-cell.ovulation:hover{transform:scale(1.12)}.cal-cell .tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:11px;padding:4px 10px;border-radius:6px;white-space:nowrap;z-index:10;pointer-events:none}.cal-cell .tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--ink)}.cal-cell:hover .tip{display:block}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;animation:riseUp .8s .25s cubic-bezier(.22,1,.36,1) both}@media(max-width:600px){.info-grid{grid-template-columns:1fr}}.info-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 16px #2d24200d,0 0 0 .5px var(--border)}.info-card h3{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);margin-bottom:12px}.info-card p{font-size:13px;color:var(--ink3);line-height:1.8;font-weight:300}.info-card p+p{margin-top:10px}.faq-section{animation:riseUp .8s .3s cubic-bezier(.22,1,.36,1) both}.faq-section h2{font-family:var(--serif);font-size:34px;font-weight:300;font-style:italic;color:var(--ink);margin-bottom:20px;text-align:center}.faq-item{border-top:1px solid var(--border);padding:18px 0}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-q{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink2);margin-bottom:6px}.faq-a{font-size:13px;color:var(--ink3);line-height:1.8;font-weight:300}.disclaimer{background:var(--cream2);border-radius:12px;padding:16px 20px;font-size:12px;color:var(--ink3);line-height:1.7;text-align:center;border:1px solid var(--border);margin-bottom:32px;animation:riseUp .8s .35s cubic-bezier(.22,1,.36,1) both}.share-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;animation:riseUp .8s .28s cubic-bezier(.22,1,.36,1) both}.share-btn{flex:1;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:10px;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink2);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;text-align:center;transition:all .15s}.share-btn:hover{background:var(--cream2);border-color:var(--terra2);color:var(--terra)}.share-btn.copied{border-color:var(--sage);color:var(--sage)}.footer{text-align:center;font-size:11px;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;padding-top:20px;border-bottom:20px solid transparent}@keyframes riseUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
