.vp [hidden]{display:none!important}.vp .library-hero{background:linear-gradient(130deg,#f7f9fc,#edf4f3);padding:50px 0 40px}.vp .library-hero .dsp{font-size:clamp(34px,4vw,54px);line-height:1.1;max-width:18ch}.vp .library-hero .lead{max-width:55ch;margin-top:20px}.vp .library-section{padding-top:32px}.vp .library-controls{display:grid;grid-template-columns:1fr 230px auto;gap:18px;align-items:end;padding-bottom:20px;border-bottom:1px solid #dce5e8}.vp .library-controls label,.vp .ai-card label{display:block;font-size:12px;font-weight:750;line-height:1.5;margin-bottom:8px}.vp .library-controls input,.vp .library-controls select,.vp .ai-card input,.vp .ai-card select,.vp .ai-card textarea{font:inherit;font-size:15px;min-height:48px;width:100%;padding:12px 14px;border-radius:8px;border:1px solid #bdcbd4;background:white;color:#183442;box-sizing:border-box}.vp #article-count{font-size:12px;margin:20px 0;color:#59717b}.vp .journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.vp .journal-card{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid #dce4e9;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 3px 10px #1d3a5105;transition:box-shadow .2s,transform .2s}.vp .journal-card:hover{box-shadow:0 12px 30px #1d3a5114;transform:translateY(-3px)}.vp .journal-cover{position:relative;aspect-ratio:16/10;background:#e5ecef}.vp .journal-cover img{width:100%;height:100%;object-fit:cover}.vp .journal-topic{position:absolute;left:14px;bottom:14px;border-radius:5px;background:#fffffff2;color:#205d60;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.vp .journal-body{padding:22px;display:flex;flex-direction:column;flex:1}.vp .journal-reading{color:#697c87;font-size:10px}.vp .journal-body h2{font-size:20px;line-height:1.4;letter-spacing:-.025em;margin:11px 0;color:#173141}.vp .journal-body p{font-size:13px;line-height:1.75;color:#5c6e78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.vp .journal-cta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;font-size:12px;font-weight:750;color:#164bd6}.vp .journal-cta b{font-size:20px}.vp .library-more{display:flex;justify-content:center;margin:35px 0 0}.vp .planner-card{background:#fff;border:1px solid #d6e1e6;border-radius:15px;padding:28px;margin:28px 0}.vp .planner-date{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;margin-bottom:24px}.vp .planner-date input{font:inherit;min-height:46px;border:1px solid #b8c9d2;border-radius:8px;padding:10px;max-width:100%;color:#163446;background:white}.vp .planner-checks{display:grid;gap:0;margin:20px 0}.vp .planner-checks label{display:flex;align-items:flex-start;gap:14px;min-height:48px;padding:14px 0;cursor:pointer;border-bottom:1px solid #e0e7ec;font-size:15px;line-height:1.6}.vp .planner-checks input{flex:0 0 auto;width:20px;height:20px;margin-top:3px;accent-color:#164bd6}.vp .planner-actions{display:flex;gap:10px;flex-wrap:wrap}.vp #planner-status,.vp #planner-progress{font-size:13px;font-weight:600;color:#225e56;min-height:22px}.vp .savings-section{background:#f7f8fc}.vp .savings-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.vp .savings-card{background:#fff;border:1px solid #d8e3e9;box-shadow:0 18px 55px #1a3c5710;border-radius:19px;padding:30px}.vp .savings-card-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#466a70;padding-bottom:19px;border-bottom:1px solid #e0e8ed}.vp .savings-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.vp .savings-inputs label{font-size:11px;font-weight:650;color:#48616e;line-height:1.6}.vp .savings-inputs input{font:inherit;display:block;width:100%;min-height:49px;margin-top:9px;padding:10px 12px;border:1px solid #bacbd5;border-radius:8px;color:#173b49;background:#fff;font-size:20px;font-weight:750;box-sizing:border-box}.vp .savings-update{display:block;font:inherit;background:none;border:0;padding:14px 0;color:#164bd6;font-weight:700;font-size:12px;min-height:44px;cursor:pointer}.vp .savings-result{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 0;border-top:1px solid #dce6eb;border-bottom:1px solid #dce6eb}.vp .savings-result strong{display:block;color:#155e59;font-size:40px;line-height:1.2;letter-spacing:-.04em}.vp .savings-result span{display:block;font-size:10px;color:#657882;line-height:1.6;margin-top:5px}.vp .savings-caveat{font-size:11px!important;line-height:1.7!important;color:#61727e!important;margin-top:15px}.vp .savings-choices{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.vp .savings-choices button{font:inherit;font-size:12px;font-weight:750;padding:11px 16px;min-height:44px;background:white;border:1px solid #c8d5de;border-radius:8px;color:#294d60;cursor:pointer}.vp .savings-choices button.selected{background:#173e53;color:white;border-color:#173e53}.vp #savings-status,.vp #ai-status{font-size:11px;line-height:1.65;color:#275d63;min-height:0;margin-top:10px}.vp .ai-section{background:linear-gradient(135deg,#f9fbff,#edf0ff)}.vp .ai-card{background:white;border:1px solid #d9dfe9;border-radius:17px;padding:28px;box-shadow:0 15px 50px #3e4a7410}.vp .ai-card label:not(:first-child){margin-top:18px}.vp .ai-card label span{font-weight:400}.vp .ai-card .brand-button{font-size:12px;margin-top:16px}.vp .ai-card textarea{font-size:12px;line-height:1.65;resize:vertical}.vp #ai-output-wrap{margin-top:22px}.reading-progress{position:fixed;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#1c72ed,#19aa98);z-index:1000;transform-origin:left;pointer-events:none;transform:scaleX(0)}.reveal-ready .scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.reveal-ready .scroll-reveal.is-revealed{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.vp .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vp .savings-grid{gap:35px}.vp .savings-card{padding:24px}.vp .savings-result strong{font-size:34px}}
@media(max-width:760px){.vp .savings-grid{grid-template-columns:1fr;gap:25px}.vp .savings-choices{margin-top:18px}.vp .library-controls{grid-template-columns:1fr 180px;gap:12px}.vp .library-controls>button{grid-column:2}.vp .planner-date{display:block}.vp .planner-date input{display:block;margin-top:10px;width:100%}.vp .planner-card{padding:23px}.vp .planner-actions .btn{font-size:12px}.vp .savings-result strong{font-size:40px}.vp .savings-card{padding:25px}}
@media(max-width:580px){.vp .journal-grid{grid-template-columns:1fr;gap:21px}.vp .journal-cover{aspect-ratio:16/9}.vp .journal-body{padding:21px}.vp .journal-body h2{font-size:21px}.vp .library-controls{grid-template-columns:1fr auto}.vp .library-controls>div:first-child{grid-column:1/-1}.vp .library-controls>div:nth-child(2){grid-column:1}.vp .library-controls>button{grid-column:2}.vp .library-controls input,.vp .library-controls select,.vp .ai-card input,.vp .ai-card select,.vp .ai-card textarea{font-size:16px}.vp .library-hero{padding:32px 0}.vp .library-hero .dsp{font-size:35px}.vp .planner-card{padding:19px}.vp .planner-checks label{font-size:14px}.vp .planner-actions{display:grid;grid-template-columns:1fr 1fr}.vp .planner-actions .btn{white-space:normal;text-align:center;padding:11px}.vp .savings-card{padding:22px}.vp .savings-inputs{gap:12px}.vp .savings-inputs input{font-size:19px;padding:9px}.vp .savings-result strong{font-size:34px}.vp .ai-card{padding:23px}.vp .savings-choices{gap:8px}.vp .savings-choices button{font-size:11px;padding:11px 13px}}
@media(prefers-reduced-motion:reduce){.reveal-ready .scroll-reveal{opacity:1;transform:none;transition:none}.reading-progress{display:none}}
@media print{.reveal-ready .scroll-reveal{opacity:1;transform:none}.reading-progress,.planner-actions,.library-controls,.library-more{display:none}.vp .planner-card{border:0}.vp [data-article][hidden]{display:block!important}}
.genie-scene{overflow:clip}.guide-chip{font:inherit;border:1px solid #b8d4e6;background:#f0f7fc;color:#164bd6;border-radius:6px;padding:10px 8px;min-height:44px;cursor:pointer}
.brand-scene{overflow:clip}
