.product-wrap{background:var(--white);padding:2.5rem 0 5rem}.product-layout{align-items:start;display:grid;gap:3.5rem;grid-template-columns:1fr 340px}@media (max-width:1024px){.product-layout{gap:2rem;grid-template-columns:1fr 300px}}@media (max-width:768px){.product-layout{grid-template-columns:1fr}}.media-gallery{margin-bottom:2.5rem}.media-gallery__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.media-gallery__label{font-weight:700;letter-spacing:.1em;text-transform:uppercase}.media-gallery__count,.media-gallery__label{color:var(--warm-400);font-size:.75rem}.media-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:480px){.media-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}}.media-item{background:var(--white);border:1px solid var(--warm-200);border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s}.media-item:hover{border-color:var(--warm-300);box-shadow:0 14px 36px -8px rgba(0,0,0,.13);transform:translateY(-3px)}.media-item__frame{aspect-ratio:16/10;overflow:hidden;position:relative}.media-item--image .media-item__frame img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1);width:100%}.media-item--image:hover .media-item__frame img{transform:scale(1.04)}.media-item__overlay{align-items:center;background:transparent;display:flex;inset:0;justify-content:center;position:absolute;transition:background .2s}.media-item--image:hover .media-item__overlay{background:rgba(0,0,0,.28)}.media-item__expand{align-items:center;background:hsla(0,0%,100%,.92);border-radius:50%;display:flex;height:38px;justify-content:center;opacity:0;transform:scale(.6);transition:opacity .2s,transform .22s cubic-bezier(.16,1,.3,1);width:38px}.media-item--image:hover .media-item__expand{opacity:1;transform:scale(1)}.media-item__expand svg{height:15px;width:15px}.media-item__caption{color:var(--warm-600);font-size:.8rem;font-weight:500;line-height:1.4;padding:.5rem .75rem .625rem}.product-body-content{color:var(--warm-700);font-size:.9375rem;line-height:1.75}.product-body-content p{margin-bottom:.875rem}.product-body-content p:last-child{margin-bottom:0}.product-section{border-bottom:1px solid var(--warm-100);padding:2rem 0}.product-section__heading{color:var(--warm-900);font-family:var(--font-display);font-size:1.25rem;font-weight:400;line-height:1.3;margin-bottom:1rem}.product-section__body{color:var(--warm-700);font-size:.9375rem;line-height:1.75}.product-section__body p{margin-bottom:.875rem}.product-section__body p:last-child{margin-bottom:0}.includes-grid{display:grid;gap:.75rem 2rem;grid-template-columns:1fr 1fr;margin-top:.25rem}@media (max-width:500px){.includes-grid{grid-template-columns:1fr}}.includes-item{align-items:flex-start;display:flex;gap:.75rem;padding:.5rem 0}.includes-item__check{align-items:center;background:var(--primary-50);border:1.5px solid var(--primary-200);border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:.1rem;width:20px}.includes-item__check svg{fill:none;height:10px;stroke:var(--primary-600);stroke-width:3;width:10px}.includes-item__name{color:var(--warm-900);font-size:.9375rem;font-weight:600;line-height:1.3}.includes-item__detail{color:var(--warm-500);font-size:.8125rem;margin-top:.125rem}.format-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.375rem}.format-row__label{color:var(--warm-600)}.format-row__label,.format-tag{font-size:.8125rem;font-weight:600}.format-tag{align-items:center;background:var(--warm-100);border:1px solid var(--warm-200);border-radius:7px;color:var(--warm-700);display:inline-flex;gap:.375rem;padding:.3rem .75rem}.format-tag svg{fill:none;height:12px;stroke:var(--warm-500);width:12px}.for-who-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.25rem}@media (max-width:500px){.for-who-grid{grid-template-columns:1fr}}.for-who-block{border-radius:12px;padding:1.125rem 1.25rem}.for-who-block--yes{background:var(--primary-50);border:1px solid var(--primary-100)}.for-who-block--no{background:var(--warm-50);border:1px solid var(--warm-200)}.for-who-block__label{font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.875rem;text-transform:uppercase}.for-who-block--yes .for-who-block__label{color:var(--primary-700)}.for-who-block--no .for-who-block__label{color:var(--warm-500)}.for-who-list{display:flex;flex-direction:column;gap:.5rem}.for-who-item{align-items:flex-start;color:var(--warm-800);display:flex;font-size:.875rem;gap:.5rem;line-height:1.45}.for-who-item__icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:16px;justify-content:center;margin-top:.15rem;width:16px}.for-who-item__icon--yes{background:var(--primary-600)}.for-who-item__icon--no{background:var(--warm-300)}.for-who-item__icon svg{fill:none;height:8px;stroke:var(--white);stroke-width:3;width:8px}.product-share-section{border-bottom:none;border-top:none}.product-body-content .product-section:last-child{border-bottom:none}.testimonials-list{display:flex;flex-direction:column;gap:1.25rem;margin-top:.25rem}.testimonial{background:var(--warm-50);border:1px solid var(--warm-100);border-radius:12px;padding:1.25rem}.testimonial__quote{color:var(--warm-800);font-family:var(--font-display);font-size:.9375rem;font-style:italic;font-weight:400;line-height:1.65;margin-bottom:.875rem}.testimonial__author{align-items:center;display:flex;gap:.625rem}.testimonial__avatar{border-radius:50%;flex-shrink:0;height:32px;overflow:hidden;width:32px}.testimonial__avatar--a{background:linear-gradient(135deg,var(--primary-200),var(--primary-400))}.testimonial__avatar--b{background:linear-gradient(135deg,var(--accent-gold-pale-2),var(--accent-star))}.testimonial__avatar--c{background:linear-gradient(135deg,var(--accent-sage-pale),var(--accent-sage-mid))}.testimonial__name{color:var(--warm-800);font-size:.8125rem;font-weight:700}.testimonial__detail{color:var(--warm-500);font-size:.75rem}.faq-list{margin-top:.25rem}.faq-item{border-bottom:1px solid var(--warm-100)}.faq-question{align-items:center;background:none;border:none;color:var(--warm-900);cursor:pointer;display:flex;font-family:var(--font-body);font-size:.9375rem;font-weight:600;gap:1rem;justify-content:space-between;padding:1rem 0;text-align:left;transition:color .15s;width:100%}.faq-question:hover{color:var(--primary-700)}.faq-icon{align-items:center;background:var(--warm-100);border-radius:50%;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:transform .25s cubic-bezier(.16,1,.3,1),background .15s;width:22px}.faq-icon svg{fill:none;height:11px;stroke:var(--warm-600);stroke-width:2.5;transition:stroke .15s;width:11px}.faq-item.open .faq-icon{background:var(--primary-50);transform:rotate(45deg)}.faq-item.open .faq-icon svg{stroke:var(--primary-600)}.faq-item.open .faq-question{color:var(--primary-700)}.faq-answer{color:var(--warm-600);display:none;font-size:.9375rem;line-height:1.7;padding:0 0 1.125rem}.faq-item.open .faq-answer{display:block}.creator-bio{align-items:flex-start;display:flex;gap:1.5rem}@media (max-width:600px){.creator-bio{flex-direction:column}}.creator-bio__avatar{background:linear-gradient(135deg,var(--primary-200),var(--primary-400));border-radius:50%;flex-shrink:0;height:72px;overflow:hidden;width:72px}.creator-bio__avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.creator-bio__eyebrow{color:var(--primary-600);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.creator-bio__name{color:var(--warm-900);font-family:var(--font-display);font-size:1.125rem;font-weight:400;margin-bottom:.75rem}.creator-bio__text{color:var(--warm-600);font-size:.9375rem;line-height:1.65}.buy-panel{background:var(--white);border:1px solid var(--warm-200);border-radius:20px;box-shadow:0 8px 40px -8px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);padding:1.75rem;position:sticky;top:88px}@media (max-width:768px){.buy-panel{border-radius:16px;margin-bottom:2rem;order:-1;position:static}}.buy-panel__thumb{align-items:center;aspect-ratio:4/3;background:linear-gradient(145deg,var(--primary-100),var(--primary-200));border-radius:12px;display:flex;justify-content:center;margin-bottom:1.375rem;overflow:hidden;position:relative}.buy-panel__thumb:after{bottom:.75rem;color:var(--primary-500);content:"Preview";font-family:var(--font-body);font-size:.65rem;font-weight:700;letter-spacing:.06em;position:absolute;right:.875rem;text-transform:uppercase}.buy-panel__thumb--img:after{display:none}.buy-panel__thumb--img img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.buy-panel__thumb-inner{display:flex;flex-direction:column;gap:6px;width:60%}.thumb-line{background:var(--primary-300);border-radius:3px;height:5px}.thumb-line--title{background:var(--primary-400);height:9px;margin-bottom:8px;width:85%}.thumb-line--med{width:70%}.buy-panel__price-row{align-items:baseline;display:flex;gap:.625rem;margin-bottom:1rem}.buy-panel__price{color:var(--warm-900);font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1}.buy-panel__price-sub{color:var(--warm-900);font-size:.8125rem;line-height:1.3}.buy-panel__cta{background:var(--accent-yellow);border:1.5px solid rgba(0,0,0,.18);border-radius:10px;cursor:pointer;display:block;font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.75rem;padding:.9375rem 1.25rem;text-align:center;transition:background .15s,transform .15s;width:100%}.buy-panel__cta,.buy-panel__cta:link,.buy-panel__cta:visited{color:var(--warm-900)}.buy-panel__cta:hover{background:var(--accent-yellow-hover);transform:translateY(-1px)}.buy-panel__guarantee{align-items:center;color:var(--warm-500);display:flex;font-size:.8125rem;gap:.375rem;justify-content:center;margin-bottom:1.375rem;text-align:center}.buy-panel__guarantee svg{flex-shrink:0;height:12px;width:12px}.buy-panel__divider{border:none;border-top:1px solid var(--warm-100);margin:1.25rem 0}.buy-panel__section-label{color:var(--warm-400);font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.875rem;text-transform:uppercase}.buy-panel__includes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.buy-panel__include{align-items:center;color:var(--warm-700);display:flex;font-size:.875rem;gap:.625rem}.buy-panel__include svg{fill:none;flex-shrink:0;height:13px;stroke:var(--primary-600);width:13px}.buy-panel__formats{display:flex;flex-wrap:wrap;gap:.375rem}.buy-panel__format{background:var(--warm-50);border:1px solid var(--warm-200);border-radius:6px;color:var(--warm-600);font-size:.75rem;font-weight:600;padding:.25rem .625rem}.buy-panel__trust{border-top:1px solid var(--warm-100);display:flex;flex-direction:column;gap:.5rem;margin-top:1.125rem;padding-top:1.125rem}.buy-panel__trust-item{align-items:center;color:var(--warm-500);display:flex;font-size:.8125rem;gap:.5rem}.buy-panel__trust-item svg{flex-shrink:0;height:14px;width:14px}.panel-ad{align-items:center;background:var(--warm-50);border:2px dashed var(--warm-300);border-radius:12px;display:flex;justify-content:center;min-height:150px;padding:1.25rem}.panel-ad__label{color:var(--warm-400);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.related-section{border-top:1px solid var(--warm-200);margin-top:1rem;padding:3rem 0 4rem}.related-section__heading{color:var(--warm-400);font-family:var(--font-body);font-size:var(--tbr-h6-size);font-weight:700;margin-bottom:1.75rem}.related-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}@media (min-width:480px) and (max-width:768px){.related-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.related-grid{grid-template-columns:1fr}}.related-card{border:1px solid var(--warm-200);border-radius:16px;display:block;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;will-change:transform}.related-card:hover{box-shadow:0 12px 32px -8px rgba(0,0,0,.1);transform:translateY(-4px)}.related-card__img{aspect-ratio:4/3}.related-card__img--teal{background:linear-gradient(145deg,var(--primary-100),var(--primary-50))}.related-card__img--gold{background:linear-gradient(145deg,var(--accent-gold-pale),var(--accent-gold-pale-2))}.related-card__img--sage{background:linear-gradient(145deg,var(--accent-sage-light),var(--accent-sage-pale))}.related-card__img--coral{background:linear-gradient(145deg,var(--accent-coral-pale),var(--accent-coral-pale-2))}.related-card__body{padding:1.125rem 1.25rem 1.375rem}.related-card__type{color:var(--warm-500);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.375rem;text-transform:uppercase}.related-card__title{color:var(--warm-900);font-family:var(--font-display);font-size:1rem;font-weight:400;line-height:1.35;margin-bottom:.75rem}.related-card__footer{align-items:center;display:flex;justify-content:space-between}.related-card__price{color:var(--warm-900);font-size:.875rem;font-weight:700}.related-card__price--free{color:var(--primary-700)}.related-card__arrow{color:var(--primary-600);font-size:.8125rem;font-weight:600}.mobile-buy-bar{align-items:center;backdrop-filter:blur(12px);background:hsla(0,0%,100%,.96);border-top:1px solid var(--warm-200);bottom:0;box-shadow:0 -4px 20px -4px rgba(0,0,0,.1);display:none;gap:1rem;justify-content:space-between;left:0;padding:.875rem 1.5rem;position:fixed;right:0;transition:opacity .2s;z-index:900}@media (max-width:768px){.mobile-buy-bar{display:flex}}.mobile-buy-bar__info{display:flex;flex-direction:column;gap:.1rem}.mobile-buy-bar__price{color:var(--warm-900);font-family:var(--font-display);font-size:1.375rem;font-weight:400;line-height:1}.mobile-buy-bar__label{color:var(--warm-500);font-size:.75rem}.mobile-buy-bar__cta{align-items:center;background:var(--accent-yellow);border:1.5px solid rgba(0,0,0,.18);border-radius:8px;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:var(--font-body);font-size:.875rem;font-weight:700;padding:.625rem 1.375rem;transition:background .15s;white-space:nowrap}.mobile-buy-bar__cta,.mobile-buy-bar__cta:link,.mobile-buy-bar__cta:visited{color:var(--warm-900)}.mobile-buy-bar__cta:hover{background:var(--accent-yellow-hover)}
