:root {
    --drp2-bg: #02050b;
    --drp2-ink: #ffffff;
    --drp2-muted: #d9e3f2;
    --drp2-soft: rgba(255,255,255,0.08);
    --drp2-soft-strong: rgba(255,255,255,0.13);
    --drp2-border: rgba(255,255,255,0.2);
    --drp2-shadow: 0 26px 80px rgba(0,0,0,0.42);
    --drp2-gold: #ffd166;
    --drp2-accent: #8c7cff;
    --drp2-accent-2: #4dd7cf;
}

.drp2, .drp2 * { box-sizing: border-box; }

.drp2 {
    color: var(--drp2-ink);
    font-family: "Atkinson Hyperlegible", Arial, Helvetica, sans-serif;
    line-height: 1.7;
    background:
        radial-gradient(circle at 12% 0%, rgba(140,124,255,.28), transparent 30rem),
        radial-gradient(circle at 86% 14%, rgba(255,209,102,.18), transparent 32rem),
        linear-gradient(180deg, #050914 0%, #02050b 48%, #06101b 100%);
    padding: clamp(24px, 5vw, 70px) clamp(16px, 4vw, 44px) 110px;
    min-height: 100vh;
    overflow: hidden;
}

.drp2 a { color: inherit; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.drp2 a:focus-visible, .drp2 summary:focus-visible { outline: 4px solid var(--drp2-gold); outline-offset: 5px; border-radius: 14px; }

.drp2 h1, .drp2 h2, .drp2 h3, .drp2 p { margin-top: 0; }
.drp2 h1, .drp2 h2, .drp2 h3 { line-height: 1.09; letter-spacing: -0.035em; }
.drp2 h1 { font-size: clamp(2.35rem, 7vw, 5.25rem); max-width: 980px; margin-bottom: 20px; }
.drp2 h2 { font-size: clamp(1.9rem, 4vw, 3.45rem); max-width: 900px; margin: 0 auto 22px; text-align: center; }
.drp2 h3 { font-size: clamp(1.25rem, 2.2vw, 1.65rem); }

.drp2-section, .drp2-hero, .drp2-book-hero { width: min(1160px, 100%); margin-left: auto; margin-right: auto; position: relative; }
.drp2-section { margin-top: clamp(54px, 8vw, 105px); }

.drp2-hero, .drp2-book-hero, .drp2-cta-panel, .drp2-contact {
    border: 1px solid var(--drp2-border);
    border-radius: clamp(26px, 4vw, 42px);
    background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.04));
    box-shadow: var(--drp2-shadow);
    overflow: hidden;
}

.drp2-hero { padding: clamp(34px, 7vw, 88px); text-align: center; }
.drp2-book-hero { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: clamp(26px, 5vw, 64px); align-items: center; padding: clamp(26px, 6vw, 72px); }

.drp2-orb { position: absolute; border-radius: 999px; filter: blur(42px); pointer-events: none; opacity: .8; }
.drp2-orb-one { width: 320px; height: 320px; background: var(--drp2-accent); top: -150px; left: -150px; }
.drp2-orb-two { width: 380px; height: 380px; background: var(--drp2-gold); right: -180px; bottom: -190px; opacity: .35; }

.drp2-brandline { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 10px 16px; margin-bottom: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(0,0,0,.22); color: #fff; font-weight: 800; letter-spacing: .04em; }
.drp2-brandline img { width: 54px; height: 54px; object-fit: contain; border-radius: 16px; }
.drp2-brandline-small { margin-bottom: 18px; }
.drp2-brandline-small img { width: 42px; height: 42px; }

.drp2-eyebrow, .drp2-kicker, .drp2-card-category {
    color: var(--drp2-gold);
    text-transform: uppercase;
    letter-spacing: .13em;
    font-weight: 900;
    font-size: .86rem;
    margin-bottom: 14px;
    text-align: center;
}
.drp2-book-copy .drp2-eyebrow { text-align: left; }
.drp2-lead, .drp2-section-lead { color: var(--drp2-muted); font-size: clamp(1.08rem, 2vw, 1.32rem); max-width: 860px; margin-left: auto; margin-right: auto; }
.drp2-book-copy .drp2-lead { margin-left: 0; }

.drp2-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.drp2-book-copy .drp2-actions { justify-content: flex-start; }
.drp2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 24px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.22);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.drp2-btn:hover { transform: translateY(-2px); }
.drp2-btn-primary { background: linear-gradient(135deg, var(--drp2-gold), #fff0a8); color: #140e03 !important; border-color: rgba(255,255,255,.38); box-shadow: 0 18px 46px rgba(255,209,102,.22); }
.drp2-btn-ghost { background: rgba(0,0,0,.18); color: #fff !important; }

.drp2-moment-grid, .drp2-product-grid, .drp2-access-grid, .drp2-detail-grid, .drp2-social-grid { display: grid; gap: 18px; }
.drp2-moment-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.drp2-moment-grid article, .drp2-access-grid div, .drp2-detail-card, .drp2-soft-card, .drp2-social-grid a {
    border: 1px solid var(--drp2-border);
    background: var(--drp2-soft);
    border-radius: 26px;
    padding: 24px;
    box-shadow: 0 15px 44px rgba(0,0,0,.22);
}
.drp2-moment-grid span { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.12); color: var(--drp2-gold); font-weight: 900; margin-bottom: 16px; }
.drp2-moment-grid h3, .drp2-access-grid strong { color: #fff; margin-bottom: 8px; display: block; }
.drp2-moment-grid p, .drp2-access-grid p, .drp2-detail-card p, .drp2-soft-card p { color: var(--drp2-muted); margin-bottom: 0; }

.drp2-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drp2-product-card { display: grid; grid-template-columns: minmax(150px, .45fr) minmax(0, .55fr); gap: 22px; align-items: stretch; padding: 18px; border: 1px solid var(--drp2-border); border-radius: 34px; background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035)); box-shadow: var(--drp2-shadow); }
.drp2-cover-link { display: block; min-height: 100%; }
.drp2-cover-link img, .drp2-book-cover-panel img { width: 100%; height: 100%; max-height: 450px; object-fit: cover; border-radius: 24px; box-shadow: 0 24px 70px rgba(0,0,0,.45); }
.drp2-card-body { display: flex; flex-direction: column; justify-content: center; padding: 10px 6px; }
.drp2-card-category { text-align: left; font-size: .75rem; }
.drp2-card-body h3 { margin-bottom: 10px; }
.drp2-card-body h3 a { text-decoration: none; }
.drp2-card-body h3 a:hover { text-decoration: underline; }
.drp2-card-subtitle { color: #fff; font-weight: 800; margin-bottom: 10px; }
.drp2-card-promise { color: var(--drp2-muted); }
.drp2-format { display: inline-flex; width: fit-content; border-radius: 999px; padding: 8px 12px; color: #fff; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.18); font-weight: 800; font-size: .9rem; margin-bottom: 16px; }
.drp2-card-actions { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.drp2-card-actions .drp2-btn { width: 100%; }

.drp2-book-cover-panel { position: relative; z-index: 1; }
.drp2-back { display: inline-flex; margin-bottom: 16px; text-decoration: none; color: #fff; font-weight: 900; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 10px 14px; background: rgba(0,0,0,.22); }
.drp2-format-cover { margin-top: 16px; }
.drp2-book-copy { position: relative; z-index: 1; }
.drp2-book-subtitle { color: #fff; font-weight: 900; font-size: clamp(1.18rem, 2.3vw, 1.55rem); }
.drp2-badge-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.drp2-badge-row span { border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 8px 12px; background: rgba(255,255,255,.085); color: #fff; font-weight: 800; }

.drp2-narrative-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; align-items: stretch; }
.drp2-large-text { font-size: clamp(1.2rem, 2.2vw, 1.62rem); color: #fff; background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.05)); border: 1px solid var(--drp2-border); border-radius: 30px; padding: clamp(24px, 5vw, 42px); margin-bottom: 0; }
.drp2-detail-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.drp2-detail-card span { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: var(--drp2-gold); color: #111; font-weight: 900; margin-bottom: 14px; }

.drp2-two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; }
.drp2-two-columns h2 { text-align: left; margin-left: 0; }
.drp2-two-columns .drp2-kicker { text-align: left; }
.drp2-check-list, .drp2-journey-list { margin: 18px 0 0; padding-left: 0; list-style: none; }
.drp2-check-list li, .drp2-journey-list li { color: var(--drp2-muted); padding: 14px 0 14px 36px; border-top: 1px solid rgba(255,255,255,.12); position: relative; }
.drp2-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--drp2-gold); font-weight: 900; }
.drp2-journey-list { counter-reset: journey; }
.drp2-journey-list li { counter-increment: journey; padding-left: 46px; }
.drp2-journey-list li::before { content: counter(journey); position: absolute; left: 0; top: 11px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--drp2-gold); color: #111; font-weight: 900; }

.drp2-cta-panel { padding: clamp(28px, 6vw, 58px); text-align: center; }
.drp2-cta-panel h2 { max-width: 940px; }
.drp2-cta-panel p { color: var(--drp2-muted); font-size: 1.12rem; }

.drp2-faq { width: min(920px, 100%); }
.drp2-faq details { border: 1px solid var(--drp2-border); background: var(--drp2-soft); border-radius: 22px; padding: 18px 20px; margin-bottom: 12px; }
.drp2-faq summary { cursor: pointer; font-weight: 900; color: #fff; }
.drp2-faq details p { color: var(--drp2-muted); margin: 14px 0 0; }
.drp2-disclaimer { margin-top: 20px; color: #f1f5ff; background: rgba(0,0,0,.26); border: 1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 16px; }

.drp2-contact { padding: clamp(28px, 6vw, 58px); text-align: center; }
.drp2-social-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; }
.drp2-social-grid a { display: flex; min-height: 122px; flex-direction: column; justify-content: center; align-items: center; text-decoration: none; }
.drp2-social-grid a strong { font-size: 1.1rem; color: #fff; margin-bottom: 8px; }
.drp2-social-grid a span { color: var(--drp2-muted); font-size: .94rem; }

.drp2-access-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.drp2-sticky-cta { position: fixed; z-index: 999; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; width: min(680px, calc(100% - 24px)); padding: 10px 10px 10px 18px; border-radius: 999px; background: rgba(2,5,11,.88); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.24); box-shadow: 0 18px 50px rgba(0,0,0,.45); }
.drp2-sticky-cta span { color: #fff; font-weight: 900; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drp2-sticky-cta a { margin-left: auto; text-decoration: none; background: var(--drp2-gold); color: #111; border-radius: 999px; padding: 10px 18px; font-weight: 900; }

.drp2-theme-newlook { --drp2-accent: #8d78ff; --drp2-accent-2: #48d3ce; --drp2-gold: #f7d88a; }
.drp2-theme-newlook.drp2-single { background: radial-gradient(circle at 14% 4%, rgba(141,120,255,.36), transparent 32rem), radial-gradient(circle at 82% 12%, rgba(72,211,206,.20), transparent 31rem), linear-gradient(180deg, #06131f 0%, #020711 52%, #071221 100%); }
.drp2-theme-visionmuda { --drp2-accent: #c48b45; --drp2-accent-2: #f7d489; --drp2-gold: #ffd889; }
.drp2-theme-visionmuda.drp2-single { background: radial-gradient(circle at 82% 10%, rgba(255,216,137,.26), transparent 34rem), radial-gradient(circle at 14% 8%, rgba(0,0,0,.72), transparent 32rem), linear-gradient(180deg, #110e0c 0%, #050505 54%, #100c08 100%); }
.drp2-theme-nutrition { --drp2-accent: #7fc44d; --drp2-accent-2: #f4df83; --drp2-gold: #f4df83; }
.drp2-theme-nutrition.drp2-single { background: radial-gradient(circle at 14% 2%, rgba(127,196,77,.30), transparent 31rem), radial-gradient(circle at 86% 12%, rgba(244,223,131,.22), transparent 30rem), linear-gradient(180deg, #05120b 0%, #020805 52%, #07140b 100%); }
.drp2-theme-silence { --drp2-accent: #5a3d20; --drp2-accent-2: #d8b24b; --drp2-gold: #d8b24b; }
.drp2-theme-silence.drp2-single { background: radial-gradient(circle at 50% -10%, rgba(216,178,75,.22), transparent 34rem), radial-gradient(circle at 14% 8%, rgba(90,61,32,.30), transparent 28rem), linear-gradient(180deg, #130d08 0%, #050302 52%, #100906 100%); }

@media (max-width: 1050px) {
    .drp2-book-hero, .drp2-product-card, .drp2-narrative-grid, .drp2-two-columns { grid-template-columns: 1fr; }
    .drp2-product-grid, .drp2-moment-grid, .drp2-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .drp2-book-copy .drp2-eyebrow, .drp2-book-copy { text-align: center; }
    .drp2-book-copy .drp2-actions, .drp2-badge-row { justify-content: center; }
    .drp2-book-copy .drp2-lead { margin-left: auto; }
    .drp2-book-cover-panel { max-width: 420px; margin: 0 auto; }
}

@media (max-width: 760px) {
    .drp2 { padding-left: 12px; padding-right: 12px; }
    .drp2-hero, .drp2-book-hero, .drp2-cta-panel, .drp2-contact { border-radius: 26px; }
    .drp2-product-grid, .drp2-moment-grid, .drp2-detail-grid, .drp2-access-grid, .drp2-social-grid { grid-template-columns: 1fr; }
    .drp2-actions, .drp2-card-actions { flex-direction: column; width: 100%; }
    .drp2-btn { width: 100%; }
    .drp2-brandline { flex-direction: column; border-radius: 24px; }
    .drp2-product-card { padding: 14px; }
    .drp2-cover-link img { max-height: none; }
    .drp2-sticky-cta { border-radius: 24px; align-items: stretch; flex-direction: column; padding: 12px; }
    .drp2-sticky-cta span { text-align: center; white-space: normal; }
    .drp2-sticky-cta a { margin-left: 0; text-align: center; }
}
