.routine{background:#f5f8fc;padding:clamp(3.25rem,8vw,6rem) 0}.routine__grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.1rem,2.5vw,1.75rem);margin-top:clamp(1.8rem,4vw,2.8rem);display:grid}.routine__step{background:#fff;border:1px solid #e8eef6;border-radius:18px;flex-direction:column;padding:clamp(1.7rem,3vw,2.2rem) clamp(1.5rem,2.5vw,2rem) clamp(1.7rem,3vw,2.1rem);display:flex;position:relative;box-shadow:0 10px 28px #3b6dac12}.routine__num{background:var(--soft-blue,#3b6dac);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:1.1rem;font-size:1.2rem;font-weight:700;display:grid;box-shadow:0 6px 16px #3b6dac47}.routine__kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#b89150);margin-bottom:.55rem;font-size:.72rem;font-weight:600}.routine__title{color:var(--navy,#18243a);letter-spacing:-.01em;margin:0 0 .65rem;font-size:1.2rem;font-weight:600;line-height:1.25}.routine__body{color:var(--body,#48566c);flex:1;margin:0 0 1.3rem;font-size:.97rem;line-height:1.55}.routine__link{color:var(--soft-blue,#3b6dac);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.96rem;font-weight:600;text-decoration:none;transition:color .15s}.routine__link:hover{color:var(--gold,#b89150)}@media (max-width:760px){.routine__grid{grid-template-columns:1fr;gap:.9rem}}
.pf-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e2d4652;justify-content:center;align-items:flex-start;padding:clamp(.75rem,4vw,3rem) 1rem;animation:.18s ease-out pf-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes pf-fade{0%{opacity:0}}.pf-modal{width:min(760px,100%);font-family:var(--font-body,system-ui, sans-serif);background:#fff;border-radius:24px;margin:auto;animation:.24s cubic-bezier(.22,1,.36,1) pf-rise;position:relative;overflow:hidden;box-shadow:0 30px 70px #1e2d4638,0 8px 24px #1e2d461a}@keyframes pf-rise{0%{opacity:0;transform:translateY(16px)}}.pf-head{background:linear-gradient(165deg, #f4f8fd 0%, var(--soft-blue-tint,#eef4fb) 100%);color:var(--navy,#18243a);border-bottom:1px solid #e4edf7;padding:clamp(1.5rem,3.5vw,2.2rem) clamp(1.5rem,3.5vw,2.4rem) 1.3rem}.pf-head__eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--soft-blue,#3b6dac);margin-bottom:.55rem;font-size:.72rem;font-weight:600;display:inline-block}.pf-head h2{color:var(--navy,#18243a);letter-spacing:-.01em;margin:0;font-size:clamp(1.4rem,3.6vw,1.95rem);font-weight:600;line-height:1.15}.pf-head p{color:var(--body,#3d4452);margin:.55rem 0 0;font-size:.97rem;line-height:1.5}.pf-close{width:38px;height:38px;color:var(--soft-blue-dark,#28548a);cursor:pointer;background:#3b6dac1a;border:none;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;transition:background .15s;display:grid;position:absolute;top:1rem;right:1rem}.pf-close:hover{background:#3b6dac33}.pf-body{padding:clamp(1.4rem,3.5vw,2rem) clamp(1.5rem,3.5vw,2.4rem) clamp(1.6rem,3.5vw,2.2rem)}.pf-label{color:var(--navy,#18243a);margin:0 0 .95rem;font-size:.98rem;font-weight:600}.pf-chips{flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem;display:flex}.pf-chip{color:#33455c;cursor:pointer;background:#fff;border:1.5px solid #d7e2f0;border-radius:999px;padding:.55rem 1.05rem;font-family:inherit;font-size:.9rem;line-height:1.1;transition:all .14s}.pf-chip:hover{border-color:var(--soft-blue,#3b6dac);background:#f7fafe}.pf-chip[aria-pressed=true]{background:var(--soft-blue,#3b6dac);border-color:var(--soft-blue,#3b6dac);color:#fff;box-shadow:0 4px 12px #3b6dac40}.pf-actions{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.pf-submit{background:var(--soft-blue,#3b6dac);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.9rem 1.8rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 6px 16px #3b6dac38}.pf-submit:hover{background:var(--soft-blue-dark,#28548a);transform:translateY(-1px)}.pf-submit:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.pf-reset{color:var(--muted,#5f6675);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-family:inherit;font-size:.9rem;text-decoration:underline}.pf-intro{color:var(--navy,#18243a);margin:0 0 1.4rem;font-size:1.04rem;line-height:1.55}.pf-results{gap:.85rem;display:grid}.pf-rec{color:inherit;background:#fff;border:1px solid #e8edf3;border-radius:16px;align-items:center;gap:1rem;padding:.8rem;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.pf-rec:hover{border-color:var(--soft-blue,#3b6dac);transform:translateY(-1px);box-shadow:0 8px 22px #3b6dac1a}.pf-rec__img{object-fit:cover;background:#f2f6fb;border-radius:12px;flex:0 0 78px;width:78px;height:78px}.pf-rec__body{flex:1;min-width:0}.pf-rec__name{color:var(--navy,#18243a);margin:0 0 .15rem;font-size:.98rem;font-weight:600;line-height:1.25}.pf-rec__reason{color:var(--muted,#5f6675);margin:.15rem 0 .35rem;font-size:.87rem;line-height:1.45}.pf-rec__meta{color:var(--navy,#18243a);align-items:center;gap:.6rem;font-size:.92rem;font-weight:600;display:flex}.pf-rec__cta{color:var(--soft-blue,#3b6dac);white-space:nowrap;flex:none;font-size:.9rem;font-weight:600}.pf-buyall{background:var(--gold-bright,#e0b24f);color:#402f0a;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:1.6rem;padding:1.05rem 1.5rem;font-family:inherit;font-size:1.06rem;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:block;box-shadow:0 8px 22px #e0b24f59}.pf-buyall:hover{background:var(--gold-bright-hi,#ecc267);transform:translateY(-1px)}.pf-buyall:disabled{opacity:.7;cursor:default;transform:none}.pf-buyall-err{color:#b4231f;text-align:center;margin:.75rem 0 0;font-size:.86rem}.pf-again{text-align:center;margin-top:1.5rem}.pf-again button{color:var(--soft-blue-dark,#28548a);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:underline}.pf-foot{color:#97a1b0;text-align:center;margin-top:1.3rem;font-size:.78rem;line-height:1.5}@media (max-width:560px){.pf-modal{border-radius:20px}.pf-chips{gap:.5rem}.pf-chip{padding:.55rem .9rem}.pf-rec__cta{display:none}.pf-submit{text-align:center;width:100%}}
