/* Professional Development: page-scoped, evergreen editorial layout. */
.pd-page { --pd-ink: #353535; --pd-blush: #efb6c8; --pd-lavender: #c7c6e8; --pd-sage: #a8c3b1; --pd-gold: #c9a96e; --pd-paper: #fffdfb; color: var(--pd-ink); background: var(--pd-paper); overflow: hidden; }
.pd-page *, .pd-page *::before, .pd-page *::after { box-sizing: border-box; }
.pd-shell { width: min(100% - 40px, 1400px); margin: 0 auto; }
.pd-section { padding: clamp(4.75rem, 9vw, 8.5rem) 0; position: relative; }
.pd-tint { background: linear-gradient(135deg, #fff8fa, #faf9ff 55%, #f7fbf8); }
.pd-kicker { color: #8b6473 !important; text-transform: uppercase; letter-spacing: .16em; font-size: .7rem !important; font-weight: 700; margin: 0 0 1rem !important; }
.pd-heading { max-width: 670px; margin-bottom: clamp(2.25rem, 5vw, 4rem); }
.pd-page h1, .pd-page h2, .pd-page h3, .pd-page p { color: var(--pd-ink); }
.pd-page h1, .pd-page h2 { letter-spacing: -.045em; line-height: 1.03; }
.pd-page h1 { font-size: clamp(2.65rem, 6vw, 5.5rem); margin: 0 0 1.5rem; }
.pd-page h2 { font-size: clamp(2.2rem, 4.6vw, 4.25rem); margin: 0; }
.pd-page h3 { font-size: 1.25rem; margin: 0 0 .8rem; }
.pd-page p { font-size: 1.05rem; line-height: 1.8; }
.pd-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.pd-reveal.is-visible { opacity: 1; transform: translateY(0); }
.pd-hero { min-height: min(700px, calc(100vh - 70px)); display: grid; place-items: center; position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(125deg, #fff7f5, #f7f3ff 50%, #eef6ef); padding: 5rem 0; }
.pd-hero::before { content: ''; position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(201,169,110,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,110,.13) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(to bottom, black, transparent); z-index: -1; }
.pd-hero-card { max-width: 905px; padding: clamp(2rem, 6vw, 5.5rem); border: 1px solid rgba(255,255,255,.8); border-radius: 32px; background: rgba(255,255,255,.48); box-shadow: 0 28px 80px rgba(84,62,83,.12); backdrop-filter: blur(18px); }
.pd-hero-card > p:not(.pd-kicker) { max-width: 690px; font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.pd-orb { position: absolute; border-radius: 50%; filter: blur(1px); z-index: -1; animation: pd-float 10s ease-in-out infinite alternate; }
.pd-orb--one { width: 250px; height: 250px; background: rgba(239,182,200,.6); top: -50px; left: 5%; }.pd-orb--two { width: 350px; height: 350px; background: rgba(199,198,232,.6); right: -80px; top: 15%; animation-delay: -3s; }.pd-orb--three { width: 220px; height: 220px; background: rgba(168,195,177,.55); bottom: -80px; left: 40%; animation-delay: -6s; }
@keyframes pd-float { to { transform: translate(22px, 24px) scale(1.08); } }
.pd-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }.pd-button { display: inline-flex; align-items: center; gap: .65rem; border: 1px solid transparent; border-radius: 999px; padding: .88rem 1.25rem; font-weight: 700; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }.pd-button:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(55,43,55,.14); }.pd-button--primary { color: #fff; background: #684e61; }.pd-button--quiet { color: #4e3e4d; background: rgba(255,255,255,.65); border-color: rgba(104,78,97,.16); }
.pd-split, .pd-ebp, .pd-wheel-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 8vw, 9rem); align-items: center; }.pd-copy { max-width: 620px; }.pd-copy > p:last-child { margin-bottom: 0; }
.pd-art { position: relative; aspect-ratio: 1; max-width: 520px; margin: auto; border-radius: 42% 58% 51% 49% / 45% 43% 57% 55%; background: linear-gradient(145deg, rgba(239,182,200,.85), rgba(199,198,232,.72) 55%, rgba(168,195,177,.7)); box-shadow: inset 0 0 45px rgba(255,255,255,.65); overflow: hidden; }.pd-art > span { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.72); }.pd-art > span:nth-child(1) { width: 70%; height: 70%; top: 8%; left: 7%; }.pd-art > span:nth-child(2) { width: 45%; height: 45%; bottom: 8%; right: 5%; }.pd-art > span:nth-child(3) { width: 18%; height: 18%; top: 29%; right: 12%; background: rgba(255,253,251,.55); }.pd-art-line { position: absolute; width: 140%; height: 2px; background: rgba(255,255,255,.8); top: 50%; left: -20%; transform: rotate(-35deg); }.pd-art i { position: absolute; left: 43%; top: 40%; font-size: clamp(3rem, 8vw, 5rem); color: rgba(255,255,255,.85); }
.pd-check-list { list-style: none; padding: 0; margin: 1.7rem 0 0; }.pd-check-list li { padding: .5rem 0 .5rem 2rem; position: relative; }.pd-check-list li::before { content: '✦'; position: absolute; left: 0; color: #b8894b; }
.pd-pillar-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; }.pd-glass-card { min-height: 250px; padding: 1.8rem; border: 1px solid rgba(255,255,255,.88); border-radius: 22px; background: rgba(255,255,255,.61); box-shadow: 0 12px 28px rgba(81,64,88,.06); transition: transform .3s ease, box-shadow .3s ease; }.pd-glass-card:hover { transform: translateY(-8px); box-shadow: 0 20px 45px rgba(111,82,103,.15); }.pd-glass-card i { color: #9b7181; font-size: 1.5rem; margin-bottom: 2.3rem; transition: transform .3s ease; }.pd-glass-card:hover i { transform: rotate(-8deg) scale(1.15); }.pd-glass-card p { font-size: .92rem; line-height: 1.7; margin: 0; }
.pd-journey { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); gap: .6rem; position: relative; }.pd-journey::before { content: ''; position: absolute; height: 1px; background: linear-gradient(90deg, transparent, var(--pd-gold), transparent); top: 1.15rem; left: 2%; right: 2%; }.pd-journey li { position: relative; padding-top: 3rem; font-size: .82rem; font-weight: 700; text-align: center; }.pd-journey li::before { content: ''; position: absolute; top: .65rem; left: calc(50% - .5rem); width: 1rem; height: 1rem; border: 4px solid #fff; border-radius: 50%; background: var(--pd-gold); box-shadow: 0 0 0 2px rgba(201,169,110,.42); }
.pd-competency-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .85rem; }.pd-competency { min-height: 185px; padding: 1.25rem; border-radius: 18px; background: #fff; box-shadow: 0 10px 25px rgba(77,63,86,.06); }.pd-competency h3 { font-size: 1.05rem; }.pd-competency p { margin: 0 0 1rem; font-size: .84rem; line-height: 1.55; }.pd-competency span { display: block; width: 100%; height: 5px; border-radius: 5px; background: linear-gradient(90deg, var(--pd-sage) 72%, #f0eef4 72%); }.pd-competency:nth-child(3n) span { background: linear-gradient(90deg, var(--pd-lavender) 82%, #f0eef4 82%); }.pd-competency:nth-child(4n) span { background: linear-gradient(90deg, var(--pd-blush) 64%, #f0eef4 64%); }
.pd-approach-grid, .pd-ethics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }.pd-approach-grid span, .pd-ethics-grid span { display: flex; align-items: center; min-height: 92px; padding: 1.25rem; border: 1px solid #eee7e5; border-radius: 16px; background: #fff; font-weight: 700; transition: transform .28s ease, background .28s ease; }.pd-approach-grid span:hover { transform: perspective(500px) rotateX(7deg) translateY(-5px); background: #fffbfc; }.pd-ethics-grid span::before { content: '○'; color: var(--pd-gold); font-size: 1.3rem; margin-right: .7rem; }
.pd-workflow { position: relative; list-style: none; max-width: 900px; padding: 0; margin: 0 auto; display: grid; gap: .45rem; }.pd-workflow::before { content: ''; position: absolute; top: 25px; bottom: 25px; left: 27px; width: 1px; background: linear-gradient(var(--pd-gold), var(--pd-lavender), var(--pd-sage)); }.pd-workflow li { position: relative; min-height: 58px; display: flex; align-items: center; gap: 1rem; padding: .7rem 1rem; border-radius: 14px; background: rgba(255,255,255,.55); font-weight: 700; }.pd-workflow i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #79586d; background: #fff; z-index: 1; }
.pd-venn { position: relative; width: min(100%, 440px); aspect-ratio: 1; margin: auto; }.pd-venn span { position: absolute; width: 55%; height: 55%; display: grid; place-items: center; border-radius: 50%; color: #463e44; font-weight: 700; text-align: center; line-height: 1.25; mix-blend-mode: multiply; }.pd-venn span:nth-child(1) { top: 4%; left: 23%; background: rgba(239,182,200,.72); }.pd-venn span:nth-child(2) { left: 1%; bottom: 12%; background: rgba(199,198,232,.72); }.pd-venn span:nth-child(3) { right: 1%; bottom: 12%; background: rgba(168,195,177,.75); }.pd-venn strong { position: absolute; z-index: 1; top: 48%; left: 50%; transform: translate(-50%,-50%); width: 32%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; text-align: center; line-height: 1.1; color: #fff; background: #71556b; box-shadow: 0 8px 20px rgba(80,60,75,.23); }
.pd-reflection { text-align: center; background: linear-gradient(135deg, #fff9f4, #fffdfb); }.pd-reflection blockquote { max-width: 1020px; margin: 0 auto; font-size: clamp(2.5rem, 6vw, 6.2rem); letter-spacing: -.06em; line-height: .98; }.pd-prompts { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem 1.25rem; margin-top: 3rem; }.pd-prompts p { margin: 0; font-size: .9rem; }.pd-prompts p::before { content: '✦'; color: var(--pd-gold); margin-right: .5rem; }
.pd-wheel { position: relative; width: min(100%, 480px); aspect-ratio: 1; margin: auto; }.pd-wheel svg { width: 100%; height: 100%; fill: none; stroke: #c9a96e; stroke-width: 1; }.pd-wheel b { position: absolute; inset: 42%; display: grid; place-items: center; text-align: center; line-height: 1.1; border-radius: 50%; color: #fff; background: #71556b; }.pd-wheel span { position: absolute; font-size: .72rem; font-weight: 700; white-space: nowrap; }.w1{top:0;left:50%;transform:translateX(-50%)}.w2{top:14%;right:0}.w3{top:50%;right:-8%}.w4{bottom:13%;right:0}.w5{bottom:0;left:50%;transform:translateX(-50%)}.w6{bottom:13%;left:0}.w7{top:50%;left:-9%}.w8{top:14%;left:0}
.pd-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.pd-resource-grid a { display: flex; justify-content: space-between; align-items: center; padding: 1.45rem; border-radius: 16px; color: var(--pd-ink); text-decoration: none; font-weight: 700; background: rgba(255,255,255,.7); box-shadow: 0 10px 23px rgba(81,64,88,.05); transition: transform .25s ease; }.pd-resource-grid a:hover { transform: translateY(-5px); }.pd-resource-grid i { color: #a07953; font-size: .75rem; }
.pd-faq-wrap { max-width: 950px; }.pd-faq { display: grid; gap: .7rem; }.pd-faq details { padding: 0 1.25rem; border: 1px solid #eee8e7; border-radius: 14px; background: #fff; }.pd-faq summary { padding: 1.25rem 1.7rem 1.25rem 0; cursor: pointer; font-weight: 700; list-style: none; position: relative; }.pd-faq summary::-webkit-details-marker { display: none; }.pd-faq summary::after { content: '+'; position: absolute; right: 0; top: 1rem; color: #9c7181; font-size: 1.5rem; font-weight: 400; }.pd-faq details[open] summary::after { content: '−'; }.pd-faq p { max-width: 760px; margin: 0; padding-bottom: 1.3rem; font-size: .95rem; }
.pd-final { padding: clamp(5rem, 10vw, 9rem) 0; position: relative; overflow: hidden; text-align: center; background: linear-gradient(135deg, #f3d7e1, #deddf0 50%, #d9eadc); }.pd-final .pd-shell { position: relative; z-index: 1; }.pd-final h2 { font-size: clamp(2.8rem, 6.2vw, 6.5rem); }.pd-final .pd-actions { justify-content: center; }.pd-final-shape { position: absolute; width: 560px; height: 560px; left: -150px; bottom: -280px; border: 1px solid rgba(255,255,255,.7); border-radius: 45% 55% 60% 40%; box-shadow: 0 0 0 65px rgba(255,255,255,.13), 0 0 0 135px rgba(255,255,255,.1); }
@media (max-width: 1050px) { .pd-pillar-grid { grid-template-columns: repeat(2, 1fr); }.pd-competency-grid { grid-template-columns: repeat(3, 1fr); }.pd-journey { grid-template-columns: repeat(4, 1fr); row-gap: 1.5rem; }.pd-journey::before { display: none; }.pd-approach-grid, .pd-ethics-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .pd-shell { width: min(100% - 28px, 1400px); }.pd-section { padding: 4.5rem 0; }.pd-hero { min-height: 620px; padding: 3.5rem 0; }.pd-hero-card { border-radius: 24px; }.pd-actions { flex-direction: column; }.pd-button { justify-content: center; }.pd-split, .pd-ebp, .pd-wheel-layout { grid-template-columns: 1fr; }.pd-art { width: min(100%, 390px); }.pd-pillar-grid, .pd-competency-grid, .pd-approach-grid, .pd-ethics-grid, .pd-resource-grid { grid-template-columns: repeat(2, 1fr); }.pd-glass-card { min-height: 215px; padding: 1.3rem; }.pd-glass-card i { margin-bottom: 1.5rem; }.pd-journey { grid-template-columns: repeat(2, 1fr); }.pd-journey li { font-size: .8rem; }.pd-approach-grid span, .pd-ethics-grid span { min-height: 76px; font-size: .84rem; }.pd-wheel { width: min(100%, 380px); }.pd-wheel span { font-size: .57rem; }.w3 { right: -3%; }.w7 { left: -4%; }.pd-venn { width: min(100%, 360px); } }
@media (prefers-reduced-motion: reduce) { .pd-page *, .pd-page *::before, .pd-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }.pd-reveal { opacity: 1; transform: none; } }

/* Refined visual treatment: depth, rhythm, and accessible interaction states. */
.pd-page { background-image: radial-gradient(circle at 8% 15%, rgba(239,182,200,.10), transparent 23rem), radial-gradient(circle at 94% 42%, rgba(199,198,232,.11), transparent 25rem); }
.pd-page ::selection { color: #352b31; background: rgba(239,182,200,.68); }
.pd-check-list li::before, .pd-prompts p::before { content: '\2726'; }
.pd-ethics-grid span::before { content: '\25cb'; }
.pd-faq details[open] summary::after { content: '\2212'; }
.pd-page a:focus-visible, .pd-page summary:focus-visible { outline: 3px solid rgba(201,169,110,.78); outline-offset: 4px; }
.pd-section:not(.pd-reflection)::after { content: ''; position: absolute; right: max(20px, calc((100vw - 1400px) / 2)); bottom: 0; width: min(20vw, 250px); height: 1px; background: linear-gradient(90deg, transparent, rgba(201,169,110,.42)); }
.pd-heading h2::after { content: ''; display: block; width: 54px; height: 3px; border-radius: 99px; margin-top: 1.35rem; background: linear-gradient(90deg, var(--pd-gold), rgba(201,169,110,.1)); }
.pd-hero-card { position: relative; overflow: hidden; border-color: rgba(255,255,255,.93); background: linear-gradient(135deg, rgba(255,255,255,.77), rgba(255,255,255,.36)); }
.pd-hero-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(120deg, rgba(255,255,255,.48), transparent 38%); }
.pd-hero-card > * { position: relative; z-index: 1; }
.pd-button { min-height: 48px; letter-spacing: .01em; }.pd-button--primary { box-shadow: 0 9px 20px rgba(104,78,97,.18); }.pd-button--primary:hover { background: #4f394a; }.pd-button--quiet:hover { background: #fff; }
.pd-glass-card, .pd-competency, .pd-approach-grid span, .pd-ethics-grid span, .pd-resource-grid a { position: relative; overflow: hidden; }.pd-glass-card::before, .pd-competency::before, .pd-resource-grid a::before { content: ''; position: absolute; inset: 0; opacity: 0; pointer-events: none; background: linear-gradient(120deg, rgba(255,255,255,.8), transparent 45%); transition: opacity .3s ease; }.pd-glass-card:hover::before, .pd-competency:hover::before, .pd-resource-grid a:hover::before { opacity: 1; }
.pd-glass-card { border-color: rgba(201,169,110,.12); }.pd-glass-card:nth-child(2) { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(239,182,200,.22)); }.pd-glass-card:nth-child(3) { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(199,198,232,.25)); }.pd-glass-card:nth-child(4) { background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(168,195,177,.23)); }
.pd-competency { border: 1px solid transparent; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }.pd-competency:hover { transform: translateY(-5px); border-color: rgba(201,169,110,.22); box-shadow: 0 18px 35px rgba(77,63,86,.10); }
.pd-journey li { transition: color .25s ease, transform .25s ease; }.pd-journey li:hover { color: #8b6473; transform: translateY(-5px); }.pd-journey li:hover::before { box-shadow: 0 0 0 5px rgba(201,169,110,.16); }
.pd-approach-grid span { justify-content: center; text-align: center; box-shadow: 0 8px 19px rgba(81,64,88,.035); }.pd-approach-grid span:nth-child(3n+1) { border-bottom: 3px solid rgba(239,182,200,.54); }.pd-approach-grid span:nth-child(3n+2) { border-bottom: 3px solid rgba(199,198,232,.66); }.pd-approach-grid span:nth-child(3n) { border-bottom: 3px solid rgba(168,195,177,.64); }
.pd-ethics-grid span { background: rgba(255,255,255,.72); transition: transform .25s ease, box-shadow .25s ease; }.pd-ethics-grid span:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(81,64,88,.09); }
.pd-workflow li { border: 1px solid rgba(255,255,255,.8); transition: transform .25s ease, box-shadow .25s ease; }.pd-workflow li:hover { transform: translateX(8px); box-shadow: 0 11px 24px rgba(81,64,88,.09); }.pd-workflow i { box-shadow: 0 4px 10px rgba(81,64,88,.08); }
.pd-venn { filter: drop-shadow(0 20px 26px rgba(81,64,88,.10)); }.pd-venn span { border: 1px solid rgba(255,255,255,.55); }.pd-venn strong { animation: pd-breathe 4s ease-in-out infinite; } @keyframes pd-breathe { 50% { transform: translate(-50%,-50%) scale(1.06); } }
.pd-reflection { overflow: hidden; }.pd-reflection::before { content: '\201C'; position: absolute; top: -4rem; left: 5%; color: rgba(201,169,110,.13); font-family: Georgia, serif; font-size: 18rem; line-height: 1; }.pd-reflection .pd-shell { position: relative; z-index: 1; }
.pd-wheel svg { filter: drop-shadow(0 16px 25px rgba(201,169,110,.17)); }.pd-wheel b { box-shadow: 0 10px 25px rgba(81,64,88,.2); }.pd-wheel span { color: #5e4b55; }
.pd-resource-grid a { border: 1px solid rgba(201,169,110,.12); }.pd-resource-grid a:hover i { transform: translate(2px,-2px); }.pd-resource-grid i { transition: transform .25s ease; }
.pd-faq details { transition: box-shadow .25s ease, border-color .25s ease; }.pd-faq details[open] { border-color: rgba(201,169,110,.36); box-shadow: 0 12px 27px rgba(81,64,88,.06); }.pd-faq summary:hover { color: #79586d; }
.pd-final { background: radial-gradient(circle at 48% 25%, rgba(255,255,255,.46), transparent 23%), linear-gradient(135deg, #f3d7e1, #deddf0 50%, #d9eadc); }.pd-final h2 { text-shadow: 0 1px 0 rgba(255,255,255,.58); }
.pd-pillar-grid .pd-reveal:nth-child(2), .pd-competency-grid .pd-reveal:nth-child(2), .pd-approach-grid .pd-reveal:nth-child(2), .pd-ethics-grid .pd-reveal:nth-child(2) { transition-delay: .06s; }.pd-pillar-grid .pd-reveal:nth-child(3), .pd-competency-grid .pd-reveal:nth-child(3), .pd-approach-grid .pd-reveal:nth-child(3), .pd-ethics-grid .pd-reveal:nth-child(3) { transition-delay: .12s; }.pd-pillar-grid .pd-reveal:nth-child(4), .pd-competency-grid .pd-reveal:nth-child(4), .pd-approach-grid .pd-reveal:nth-child(4), .pd-ethics-grid .pd-reveal:nth-child(4) { transition-delay: .18s; }
@media (max-width: 700px) { .pd-section:not(.pd-reflection)::after { right: 14px; width: 90px; }.pd-heading h2::after { margin-top: 1rem; }.pd-competency-grid { grid-template-columns: 1fr; }.pd-approach-grid, .pd-ethics-grid, .pd-resource-grid { grid-template-columns: 1fr; }.pd-approach-grid span, .pd-ethics-grid span { min-height: 64px; justify-content: flex-start; text-align: left; }.pd-workflow li:hover { transform: none; }.pd-reflection::before { left: -1rem; font-size: 12rem; } }

/* Desktop composition: keep the editorial spread deliberate rather than sparse. */
.pd-page h1 { font-size: clamp(2.55rem, 4.6vw, 4.6rem); line-height: 1.06; }
.pd-page h2 { font-size: clamp(2rem, 3.45vw, 3.45rem); line-height: 1.08; }
.pd-reflection blockquote { font-size: clamp(2.3rem, 4.8vw, 4.85rem); }
.pd-final h2 { font-size: clamp(2.55rem, 5vw, 5rem); }
.pd-intro { overflow: hidden; background: radial-gradient(circle at 12% 52%, rgba(239,182,200,.14), transparent 26rem), linear-gradient(90deg, #fffdfb 0%, #fffdfb 62%, #fff9fb 100%); }
.pd-intro .pd-split { width: min(100% - 40px, 1240px); grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 6vw, 5.5rem); }
.pd-intro .pd-copy { max-width: 650px; }.pd-intro .pd-copy h2 { max-width: 650px; }
.pd-art { width: min(100%, 500px); min-width: 390px; transform: rotate(-4deg); border: 12px solid rgba(255,255,255,.72); background: radial-gradient(circle at 63% 34%, rgba(255,253,251,.84) 0 5%, transparent 5.4%), linear-gradient(145deg, rgba(239,182,200,.95), rgba(199,198,232,.86) 52%, rgba(168,195,177,.82)); box-shadow: 0 28px 56px rgba(102,78,97,.18), inset 0 0 50px rgba(255,255,255,.68); }
.pd-art::before, .pd-art::after { content: ''; position: absolute; z-index: 1; border-radius: 999px; background: rgba(255,255,255,.75); box-shadow: 0 8px 18px rgba(77,63,86,.08); }.pd-art::before { width: 23%; height: 5%; left: 10%; bottom: 16%; transform: rotate(25deg); }.pd-art::after { width: 14%; height: 14%; right: 17%; bottom: 27%; border: 1px solid rgba(201,169,110,.36); background: rgba(255,255,255,.48); }
.pd-art i { z-index: 2; padding: .3em; border-radius: 50%; background: rgba(255,255,255,.26); text-shadow: 0 2px 10px rgba(91,68,86,.14); }.pd-art-line { z-index: 1; height: 3px; box-shadow: 0 0 0 10px rgba(255,255,255,.08); }
@media (min-width: 1450px) { .pd-hero-card { margin-left: clamp(0px, 5vw, 82px); }.pd-hero-card > p:not(.pd-kicker) { max-width: 730px; } }
@media (max-width: 700px) { .pd-intro .pd-split { width: min(100% - 28px, 1240px); grid-template-columns: 1fr; }.pd-art { min-width: 0; width: min(100%, 390px); border-width: 9px; transform: rotate(-2deg); } }

/* Evidence-based practice: give every part of the model a clear, calm home. */
.pd-venn { width: min(100%, 500px); padding: 1.15rem; border-radius: 50%; background: radial-gradient(circle at center, rgba(255,255,255,.78) 0 28%, transparent 28.4%); }
.pd-venn span { width: 56%; height: 56%; font-size: clamp(.95rem, 1.3vw, 1.15rem); letter-spacing: -.015em; line-height: 1.16; text-shadow: 0 1px 0 rgba(255,255,255,.45); }
.pd-venn span:nth-child(1) { top: 2%; left: 22%; place-items: start center; padding: 14% 12% 32%; background: rgba(239,182,200,.82); }
.pd-venn span:nth-child(2) { left: 0; bottom: 9%; place-items: end start; padding: 30% 38% 12% 10%; background: rgba(199,198,232,.84); }
.pd-venn span:nth-child(3) { right: 0; bottom: 9%; place-items: end end; padding: 30% 10% 12% 38%; background: rgba(168,195,177,.85); }
.pd-venn strong { width: 27%; z-index: 2; font-size: clamp(.88rem, 1.2vw, 1.1rem); border: 5px solid rgba(255,255,255,.76); background: linear-gradient(145deg, #806177, #60485c); box-shadow: 0 12px 28px rgba(75,53,69,.24); }
.pd-venn::before { content: ''; position: absolute; z-index: -1; inset: 5%; border: 1px dashed rgba(201,169,110,.38); border-radius: 50%; }
@media (max-width: 700px) { .pd-venn { width: min(100%, 390px); }.pd-venn span { font-size: .82rem; }.pd-venn strong { border-width: 3px; font-size: .8rem; } }

/* Action feedback for the hero controls and resource library. */
.pd-button i { transition: transform .25s ease; }.pd-button:hover i { transform: translate(3px, -3px); }
.pd-resource-grid a { min-height: 110px; align-items: center; }.pd-resource-grid a i { width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border-radius: 50%; color: #957047; background: rgba(201,169,110,.12); }.pd-resource-grid a:hover i { color: #fff; background: #957047; transform: translate(3px, -3px); }.pd-resource-grid a[href^="http"]::after { content: 'Trusted external resource'; position: absolute; left: 1.45rem; bottom: .8rem; color: #8c747d; font-size: .63rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(3px); transition: opacity .2s ease, transform .2s ease; }.pd-resource-grid a[href^="http"]:hover::after, .pd-resource-grid a[href^="http"]:focus-visible::after { opacity: 1; transform: translateY(0); }.pd-resource-grid a[href^="http"]:hover { padding-bottom: 2rem; }
@media (max-width: 700px) { .pd-resource-grid a { min-height: 84px; }.pd-resource-grid a[href^="http"]:hover { padding-bottom: 1.45rem; }.pd-resource-grid a[href^="http"]::after { display: none; } }

/* Public-site integration: theme fonts + sticky chrome offset */
.pd-page {
  font-family: "Montserrat", system-ui, sans-serif;
}
.pd-page h1,
.pd-page h2,
.pd-page h3,
.pd-page blockquote {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
}
.pd-section,
.pd-hero,
.pd-final,
#pillars,
#journey,
#resources {
  scroll-margin-top: 5.5rem;
}
