/* Scoped NuBloom palette; no external fonts or analytics. */
.pfp-root,.pfp-modal{--pfp-ink:#173b34;--pfp-muted:#52665c;--pfp-paper:#fbfaf6;--pfp-line:#d7ded5;--pfp-accent:#285448;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--pfp-ink);line-height:1.6;font-size:17px;box-sizing:border-box}
.pfp-root *, .pfp-modal *{box-sizing:border-box}
.pfp-root{width:100%;max-width:760px;margin:0 auto}
.pfp-card{padding:clamp(24px,5vw,56px);background:var(--pfp-paper);border:1px solid var(--pfp-line);border-radius:24px;box-shadow:0 12px 40px #173b3408}
.pfp-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--pfp-muted);margin:0 0 18px}
.pfp-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(28px,4vw,43px);line-height:1.15;letter-spacing:-.02em;margin:20px 0}
.pfp-title:focus-visible{outline:2px solid var(--pfp-accent);outline-offset:6px}
.pfp-intro,.pfp-help{color:var(--pfp-muted);margin-bottom:24px}
.pfp-disclaimer,.pfp-note{color:var(--pfp-muted);font-size:13px;line-height:1.6;padding-top:16px}
.pfp-card progress{width:100%;height:5px;display:block;accent-color:var(--pfp-accent);border:0;border-radius:10px;overflow:hidden;background:var(--pfp-line)}
.pfp-card progress::-webkit-progress-bar{background:var(--pfp-line)}
.pfp-card progress::-webkit-progress-value{background:var(--pfp-accent)}
.pfp-card fieldset{border:0;padding:0;margin:0;min-width:0}
.pfp-choice{display:flex;align-items:center;gap:14px;min-height:64px;padding:18px 20px;margin:10px 0;border:1px solid var(--pfp-line);border-radius:12px;background:white;cursor:pointer;transition:background .15s,border-color .15s}
.pfp-choice:hover{background:#f1f5ee;border-color:#8caa91}
.pfp-choice:has(input:checked){border:2px solid var(--pfp-accent);background:#edf3e9;padding:17px 19px}
.pfp-choice input,.pfp-check input{accent-color:var(--pfp-accent);width:20px;height:20px;flex:0 0 20px;margin:0}
.pfp-input{display:block;width:100%;min-height:58px;padding:14px 16px;font:inherit;color:var(--pfp-ink);background:white;border:1px solid var(--pfp-line);border-radius:10px}
.pfp-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:30px}
.pfp-primary,.pfp-secondary,.pfp-launch,.pfp-close{font:inherit;font-weight:600;min-height:48px;cursor:pointer;border-radius:999px;padding:12px 26px;transition:background .15s}
.pfp-primary,.pfp-launch{border:1px solid #285448;background:#285448;color:white}
.pfp-primary:hover,.pfp-launch:hover{background:#173b34}
.pfp-secondary{background:transparent;border:1px solid var(--pfp-line);color:var(--pfp-ink)}
.pfp-close{align-self:flex-end;border:0;background:transparent;color:var(--pfp-ink);padding:8px 16px;margin:4px 0}
.pfp-root button:disabled{opacity:.55;cursor:wait}
.pfp-root :focus-visible,.pfp-modal :focus-visible,.pfp-launch:focus-visible{outline:3px solid #a37321;outline-offset:4px}
.pfp-check{display:flex;align-items:flex-start;gap:12px;margin:18px 0;font-size:15px}
.pfp-check input{margin-top:3px}
.pfp-review{border-top:1px solid var(--pfp-line);padding-top:16px}
.pfp-review dt{font-size:13px;color:var(--pfp-muted);margin-top:12px}
.pfp-review dd{margin:0 0 12px;overflow-wrap:anywhere}
.pfp-error{color:#9b2c25;font-size:15px;margin-top:12px}
.pfp-status{min-height:26px;padding:8px 16px;color:var(--pfp-muted);font-size:14px}
.pfp-result{padding:18px 0;border-top:1px solid var(--pfp-line)}
.pfp-result h3{font-size:20px;margin:8px 0}
.pfp-product{display:block;border:1px solid var(--pfp-line);border-radius:12px;padding:18px;color:var(--pfp-ink);margin:10px 0}
.pfp-sr-only,.pfp-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pfp-modal{border:0;background:var(--pfp-paper);padding:12px;width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:28px;box-shadow:0 24px 100px #0003;overflow:auto}
.pfp-modal[open]{display:flex;flex-direction:column;animation:pfp-enter .22s ease-out}
.pfp-modal::backdrop{background:#173b3480;backdrop-filter:blur(4px)}
.pfp-modal .pfp-card{box-shadow:none;border:0}
@keyframes pfp-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.pfp-card{border-radius:16px}.pfp-modal{padding:4px;border-radius:18px}.pfp-actions{gap:10px}.pfp-actions button{flex:1}.pfp-choice{padding:16px}.pfp-title{font-size:29px}}
@media(prefers-reduced-motion:reduce){.pfp-modal[open]{animation:none}.pfp-choice,.pfp-primary,.pfp-secondary,.pfp-launch,.pfp-close{transition:none}}
@media(forced-colors:active){.pfp-choice:has(input:checked){outline:2px solid Highlight}.pfp-primary,.pfp-launch{border:2px solid ButtonText}}

.pfp-root .pfp-title,.pfp-root h3{color:var(--pfp-ink)}.pfp-root .pfp-title{font-size:clamp(30px,4vw,46px)}.pfp-brand-logo{max-width:170px;max-height:65px;object-fit:contain;margin:0 0 25px}.pfp-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.pfp-progress-meta .pfp-eyebrow{margin:0}.pfp-step-count{font-size:12px;color:var(--pfp-muted);white-space:nowrap}.pfp-welcome-facts{display:flex;flex-wrap:wrap;gap:12px 22px;color:var(--pfp-muted);font-size:12px;margin:25px 0}.pfp-welcome-facts span:before{content:'✓';margin-right:7px;color:var(--pfp-accent)}.pfp-blossom{position:relative;width:104px;height:104px;margin:0 0 34px 0;transform:rotate(15deg)}.pfp-blossom span{position:absolute;width:34px;height:53px;left:35px;top:0;border-radius:50% 50% 45% 45%;transform-origin:50% 100%;transform:rotate(calc(var(--petal)*45deg));background:linear-gradient(180deg,#a7b8aa80,#d3d8cb99);border:1px solid #98aa9a33}.pfp-blossom:after{content:'';position:absolute;width:24px;height:24px;left:40px;top:40px;background:#d8bd87;border-radius:50%;border:5px solid var(--pfp-paper)}.pfp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pfp-contact-grid .pfp-help{font-size:12px;margin:7px 0 0;line-height:1.5}.pfp-field-label{font-size:14px;font-weight:600;margin-bottom:9px}.pfp-root select.pfp-input{background:var(--pfp-paper);color:var(--pfp-ink);height:54px;width:100%;font-family:inherit;font-size:16px;border:1px solid var(--pfp-line);border-radius:10px;padding:12px}.pfp-selection-count{font-size:12px;color:var(--pfp-muted)}.pfp-review summary{cursor:pointer;padding:12px 0;font-size:15px;font-weight:600}.pfp-review-row{position:relative;padding:10px 70px 10px 0;border-bottom:1px solid var(--pfp-line)}.pfp-review-row .pfp-secondary{position:absolute;right:0;top:20px;padding:6px 12px;font-size:12px;min-height:30px}.pfp-privacy-link{display:inline-block;font-size:14px;color:var(--pfp-ink);margin:22px 0 8px}.pfp-result p{white-space:pre-line}.pfp-result-band{padding:25px;background:#eaf0e7;border:0;border-radius:16px;margin-bottom:20px}.pfp-result-band h3{font-family:Georgia,serif;font-size:30px;font-weight:400}.pfp-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.pfp-product-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:white;border:1px solid var(--pfp-line);border-radius:16px;color:var(--pfp-ink);text-decoration:none!important;transition:transform .18s}.pfp-product-card:hover{transform:translateY(-3px)}.pfp-product-card img{width:100%;height:170px;object-fit:contain}.pfp-product-card strong{font-size:17px}.pfp-product-price{font-size:14px;color:var(--pfp-muted)}.pfp-product-cta{margin-top:auto;font-size:12px;font-weight:600;padding-top:14px}.pfp-next-step{margin:30px 0;padding:26px;border-radius:16px;border:1px solid var(--pfp-line)}.pfp-next-step .pfp-primary{display:inline-block;color:white;text-decoration:none;padding:14px 22px}.pfp-step-enter{animation:pfp-step .22s ease-out}.pfp-close{align-self:flex-end;width:40px;height:40px;padding:0;font-size:28px;line-height:1;border-radius:50%;position:sticky;top:0;z-index:1}.pfp-root .pfp-input{width:100%;font-family:inherit;font-size:17px}.pfp-root .pfp-check input{accent-color:var(--pfp-accent);flex-shrink:0;width:18px;height:18px}.pfp-root a:focus-visible{outline:3px solid #a37321;outline-offset:4px}
@keyframes pfp-step{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.pfp-contact-grid,.pfp-products{grid-template-columns:1fr}.pfp-card{padding:26px 22px}.pfp-product-card{padding:20px}.pfp-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.pfp-blossom{transform:scale(.8);transform-origin:left;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.pfp-step-enter{animation:none}.pfp-product-card{transition:none}.pfp-product-card:hover{transform:none}}
/* Explicit, scoped controls override Elementor/theme button colors. */
.pfp-root .pfp-primary,.pfp-modal .pfp-primary,.pfp-launch{background:var(--pfp-button-bg,#285448)!important;color:var(--pfp-button-text,#fff)!important;border:1px solid var(--pfp-button-bg,#285448)!important;box-shadow:none!important;background-image:none!important;text-decoration:none!important}
.pfp-root .pfp-primary:hover,.pfp-modal .pfp-primary:hover,.pfp-launch:hover{background:var(--pfp-button-hover,#1b4036)!important;border-color:var(--pfp-button-hover,#1b4036)!important;color:var(--pfp-button-text,#fff)!important}
.pfp-root .pfp-secondary,.pfp-modal .pfp-secondary{background:transparent!important;background-image:none!important;color:var(--pfp-accent)!important;border:1px solid var(--pfp-line)!important;box-shadow:none!important}
.pfp-modal .pfp-close,.pfp-modal .pfp-close:hover{background:var(--pfp-close-bg,#edf2ec)!important;color:var(--pfp-close-ink,#173b34)!important;border:1px solid var(--pfp-line)!important;background-image:none!important;box-shadow:none!important}
.pfp-root :focus-visible,.pfp-modal :focus-visible,.pfp-launch:focus-visible{outline-color:var(--pfp-focus,#a37321)!important}
.pfp-modal[open]{animation:none;transform-origin:center center;will-change:transform,opacity}.pfp-modal:not(.pfp-ready)::backdrop{background:transparent;backdrop-filter:none}.pfp-is-opening{cursor:progress!important;opacity:.7}.pfp-modal .pfp-close{flex-shrink:0}.pfp-root .pfp-title{scroll-margin-top:80px}
@media(prefers-reduced-motion:reduce){.pfp-modal{will-change:auto}}
body button.pfp-launch{background:var(--pfp-button-bg,#285448)!important;border-color:var(--pfp-button-bg,#285448)!important;color:var(--pfp-button-text,#fff)!important}body button.pfp-launch:hover{background:var(--pfp-button-hover,#1b4036)!important;border-color:var(--pfp-button-hover,#1b4036)!important;color:var(--pfp-button-text,#fff)!important}
.pfp-root .pfp-primary:focus,.pfp-modal .pfp-primary:focus{background:var(--pfp-button-bg,#285448)!important;border-color:var(--pfp-button-bg,#285448)!important;color:var(--pfp-button-text,#fff)!important}.pfp-root .pfp-secondary:focus,.pfp-modal .pfp-secondary:focus{background:transparent!important;color:var(--pfp-accent)!important}.pfp-modal .pfp-close:focus{background:var(--pfp-close-bg,#edf2ec)!important;color:var(--pfp-close-ink,#173b34)!important}body button.pfp-launch:focus{background:var(--pfp-button-bg,#285448)!important;color:var(--pfp-button-text,#fff)!important}
